C#:从另一个类访问枚举 [英] C#: Access Enum from another class
本文介绍了C#:从另一个类访问枚举的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道我可以将枚举放在类的命名空间区域,这样每个人都可以在同一个命名空间中访问它.
I know I can put my enum at the Namespace area of a class so everyone can access it being in the same namespace.
// defined in class2
public enum Mode { Selected, New, }
我想要的是从
public class1
{
var class2 = new class2();
// Set the Mode
class2.Mode = Model.Selected
}
这在不使用命名空间区域的情况下是否可行?
Is this somehow possible without using namespace area?
推荐答案
如果您正在尝试执行下面描述的操作,它将不起作用...
If you are trying to do what is described below it will not work...
public class MyClass1
{
private enum Mode { New, Selected };
public Mode ModeProperty { get; set; }
}
public class MyClass2
{
public MyClass2()
{
var myClass1 = new MyClass1();
//this will not work due to protection level
myClass1.ModeProperty = MyClass1.Mode.
}
}
你可以做的事情如下,这会起作用......
What you could do however is below, which will work...
public interface IEnums
{
public enum Mode { New, Selected };
}
public class MyClass1
{
public IEnums.Mode ModeProperty { get; set; }
}
public class MyClass2
{
public MyClass2()
{
var myClass1 = new MyClass1();
//this will work
myClass1.ModeProperty = IEnums.Mode.New;
}
}
这篇关于C#:从另一个类访问枚举的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文