J'ai déclaré un enum:
public enum SupportedPermissions
{
basic,
repository,
both
}
J'ai aussi un POCO comme celui-ci:
public class File
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public SupportedPermissions SupportedPermissions { get; set; }
}
Maintenant, j'aimerais créer une méthode que je peux utiliser pour créer un nouvel objet File avec:
public string CreateFile(string id, string name, string description, Enum supportedPermissions)
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions.basic
};
return file.Id;
}
Comment créer le paramètre pour l'énum et comment l'assigner dans mon pseudo-code SupportedPermissions = supportedPermissions.basic
afin que mon instance de fichier ait un SupportedPermissions défini?
Modifiez la signature de la méthode CreateFile
pour qu'elle attende une valeur SupportedPermissions
au lieu de plain Enum.
public string CreateFile(string id, string name, string description, SupportedPermissions supportedPermissions)
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions
};
return file.Id;
}
Ensuite, lorsque vous appelez votre méthode, vous passez la valeur SupportedPermissions
à votre méthode.
var basicFile = CreateFile(myId, myName, myDescription, SupportedPermissions.basic);
Si vous voulez transmettre la valeur à utiliser, vous devez utiliser le type enum que vous avez déclaré et utiliser directement la valeur fournie:
public string CreateFile(string id, string name, string description,
/* --> */ SupportedPermissions supportedPermissions)
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions // <---
};
return file.Id;
}
Si vous préférez utiliser une valeur fixe, vous n'avez besoin d'aucun paramètre. Au lieu de cela, utilisez directement la valeur enum. La syntaxe est similaire à un membre statique d'une classe:
public string CreateFile(string id, string name, string description) // <---
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = SupportedPermissions.basic // <---
};
return file.Id;
}
Commencez par modifier le paramètre de méthode Enum supportedPermissions
à SupportedPermissions supportedPermissions
.
Puis créez votre fichier comme ceci
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions
};
Et l'appel à votre méthode devrait être
CreateFile(id, name, description, SupportedPermissions.basic);
public string CreateFile(string id, string name, string description, SupportedPermissions supportedPermissions)
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions
};
return file.Id;
}