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屋!
查看全文