コード例 #1
0
        public static ClrType Create(ClrNamespace ns, Type type)
        {
            if (type.IsDelegate())
            {
                return(new ClrDelegate(ns, type));
            }
            if (type.IsClass)
            {
                return(new ClrClass(ns, type));
            }
            if (type.IsInterface)
            {
                return(new ClrInterface(ns, type));
            }
            if (type.IsEnum)
            {
                return(new ClrEnumeration(ns, type));
            }
            if (type.IsValueType)
            {
                return(new ClrStructure(ns, type));
            }

            throw new ArgumentException($"Unexpected type: {type}");
        }
コード例 #2
0
 public ClrClass(ClrNamespace ns, Type typeInfo)
     : base(ns, typeInfo)
 {
 }
コード例 #3
0
ファイル: ClrEnumeration.cs プロジェクト: Khojasteh/DG
 public ClrEnumeration(ClrNamespace ns, Type typeInfo)
     : base(ns, typeInfo)
 {
 }
コード例 #4
0
ファイル: ClrDelegate.cs プロジェクト: Khojasteh/DG
 public ClrDelegate(ClrNamespace ns, Type typeInfo)
     : base(ns, typeInfo)
 {
 }
コード例 #5
0
 public ClrInterface(ClrNamespace ns, Type typeInfo)
     : base(ns, typeInfo)
 {
 }
コード例 #6
0
 private ClrType(ClrNamespace ns, ClrType owner, Type typeInfo)
     : base(owner, typeInfo)
 {
     Namespace = ns ?? owner.Namespace;
     Members   = CollectMembers();
 }
コード例 #7
0
 protected ClrType(ClrNamespace ns, Type typeInfo)
     : this(ns, null, typeInfo)
 {
 }
コード例 #8
0
ファイル: ClrStructure.cs プロジェクト: Khojasteh/DG
 public ClrStructure(ClrNamespace ns, Type typeInfo)
     : base(ns, typeInfo)
 {
 }