C# 作为方法参数传入枚举
我已声明一个枚举:C# 作为方法参数传入枚举,c#,enums,C#,Enums,我已声明一个枚举: public enum SupportedPermissions { basic, repository, both } 我也有这样的POCO: public class File { public string Id { get; set; } public string Name { get; set; } public string Description { get; set; } public Support
public enum SupportedPermissions
{
basic,
repository,
both
}
我也有这样的POCO:
public class File
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public SupportedPermissions SupportedPermissions { get; set; }
}
现在,我想创建一个方法,可以使用该方法创建一个新的文件对象:
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;
}
如何为枚举创建参数,以及如何在伪代码
SupportedPermissions=SupportedPermissions.basic中分配该参数,以便我的文件实例具有一个SupportedPermissions设置?更改CreateFile
方法的签名以期望SupportedPermissions
值而不是普通枚举
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;
}
然后,当调用方法时,将SupportedPermissions
值传递给方法
var basicFile = CreateFile(myId, myName, myDescription, 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;
}
公共字符串创建文件(字符串id、字符串名称、字符串描述、,
/*-->*/SupportedPermissions SupportedPermissions)
{
文件=新文件
{
Name=Name,
Id=Id,
描述=描述,
SupportedPermissions=SupportedPermissions/首先将方法参数Enum SupportedPermissions
更改为SupportedPermissions SupportedPermissions
然后像这样创建文件
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions
};
对方法的调用应该是
CreateFile(id, name, description, SupportedPermissions.basic);
这是一个错误的问题吗?向下投票的原因?在调用方法n时在参数中传递SupportedPermissions.basic。将变量SupportedPermissions设置为属性。希望有帮助。向下投票的原因是像Enum这样命名变量。
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions
};
CreateFile(id, name, description, SupportedPermissions.basic);