给定一个构造函数
public MyObject(int id){
ID = id;
}
还有两个枚举:
public enum MyEnum1{
Something = 1,
Anotherthing = 2
}
public enum MyEnum2{
Dodo = 1,
Moustache= 2
}
是否可以将通用枚举作为构造函数的参数传入?我正在寻找以下解决方案:
public MyObject(enum someEnum){
ID = (int)someEnum;
}
所以你可以这样做:
var newObject = new MyObject(MyEnum1.Something);
var anotherObject = new MyObject(MyEnum2.Dodo);
最佳答案
另一种选择是:
public MyObject(Enum someEnum){
ID = Convert.ToInt32(someEnum);
}
这样您就可以按照您的要求使用它,而不必在每次调用您的构造函数时都强制转换为 int
:
var newObject = new MyObject(MyEnum1.Something);
var anotherObject = new MyObject(MyEnum2.Dodo);
关于c# - 通用枚举作为方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39392241/