コード例 #1
0
ファイル: ZCClassInfo.cs プロジェクト: pyzh/ZLanguage3
        public ZCFieldInfo DefineFieldPublic(string name, ZAClassInfo ztype)
        {
            Type         varSharpType = ZTypeUtil.GetTypeOrBuilder(ztype);
            FieldBuilder field        = ClassBuilder.DefineField(name, varSharpType, FieldAttributes.Public);
            ZCFieldInfo  zf           = new ZCFieldInfo(name, (ZAClassInfo)ztype, field);

            _ZCompilingFields.Add(zf);
            return(zf);
        }
コード例 #2
0
ファイル: ZLClassInfo.cs プロジェクト: pyzh/ZLanguage3
        public ZLClassInfo MakeGenericType(params ZType[] argZTypes)
        {
            var         args         = argZTypes.Select(U => ZTypeUtil.GetTypeOrBuilder(U)).ToArray();
            Type        newtype      = this.SharpType.MakeGenericType(args);
            ZLClassInfo newclassinfo = new ZLClassInfo(newtype, newtype, IsStatic);

            newclassinfo._GenericTypeDict = new Dictionary <string, Type>();
            Type[] typeArguments = this.SharpType.GetGenericArguments();
            for (int i = 0; i < typeArguments.Length; i++)
            {
                newclassinfo._GenericTypeDict.Add(typeArguments[i].Name, args[i]);
            }
            return(newclassinfo);
        }
コード例 #3
0
ファイル: ZCConstructorInfo.cs プロジェクト: pyzh/ZLanguage3
 public Type[] GetParameterTypes()
 {
     return(ZParams.Select(u => ZTypeUtil.GetTypeOrBuilder(u.ZParamType)).ToArray());
 }