为什么  DialogResult  有方法
 
public enum a 
{
   a1,a2 
}在另个类中声明
public class b 
{
   public a a ;}这样 变量a就能掉方法了

解决方案 »

  1.   

    enum继承自ValueType,ValueType继承自Object...enum为什么有方法...你没学过继承?至于DialogResult为什么方法,当然是微软先写好的,没有方法谁愿意用啊...
      

  2.   

    变量a 只是一个类的field成员...没有方法啊.
      

  3.   

    枚举类型都是值类型。System.Enum是一个抽象类(abstract class),所有枚举类型都直接继承自它,当然也同时继承了它的所有成员。所有的值类型都是System.ValueType的后代,枚举类型也不例外,枚举类型直接继承自System.Enum,而System.Enum却又直接继承自System.ValueType的,所以,枚举类型也是System.ValueType的后代。
    因为枚举类型是值类型,所以不用new直接就会分配内存。。
     public enum a { a1,a2};
       public class A 
        {
           public a a;
           public void Print()
           {
               Console.WriteLine(a.GetType());
           }
    public static void Main(string[] args)
    {
    A a= new A();
    a.Print();
    }
        }