示例#1
0
文件: PERWAPI.cs 项目: nomit007/f4
 internal MSCorLib()
     : base("mscorlib")
 {
     classes.Add(new SystemClass(this,PrimitiveType.Void));
     classes.Add(new SystemClass(this,PrimitiveType.Boolean));
     classes.Add(new SystemClass(this,PrimitiveType.Char));
     classes.Add(new SystemClass(this,PrimitiveType.Int8));
     classes.Add(new SystemClass(this,PrimitiveType.UInt8));
     classes.Add(new SystemClass(this,PrimitiveType.Int16));
     classes.Add(new SystemClass(this,PrimitiveType.UInt16));
     classes.Add(new SystemClass(this,PrimitiveType.Int32));
     classes.Add(new SystemClass(this,PrimitiveType.UInt32));
     classes.Add(new SystemClass(this,PrimitiveType.Int64));
     classes.Add(new SystemClass(this,PrimitiveType.UInt64));
     classes.Add(new SystemClass(this,PrimitiveType.Float32));
     classes.Add(new SystemClass(this,PrimitiveType.Float64));
     classes.Add(new SystemClass(this,PrimitiveType.IntPtr));
     classes.Add(new SystemClass(this,PrimitiveType.UIntPtr));
     classes.Add(new SystemClass(this,PrimitiveType.String));
     classes.Add(new SystemClass(this,PrimitiveType.TypedRef));
     ObjectClass = new SystemClass(this,PrimitiveType.Object);
     classes.Add(ObjectClass);
     valueType = new ClassRef(this,"System","ValueType");
     valueType.MakeValueClass();
     classes.Add(valueType);
 }
示例#2
0
文件: PERWAPI.cs 项目: nomit007/f4
 /*------------------------- public set and get methods --------------------------*/
 /// <summary>
 /// Add a class which is declared public in this external module of
 /// THIS assembly.  This class will be exported from this assembly.
 /// The ilasm syntax for this is .extern class
 /// </summary>
 /// <param name="attrSet">attributes of the class to be exported</param>
 /// <param name="nsName">name space name</param>
 /// <param name="name">external class name</param>
 /// <param name="declFile">the file where the class is declared</param>
 /// <param name="isValueClass">is this class a value type?</param>
 /// <returns>a descriptor for this external class</returns>
 public ClassRef AddExternClass(TypeAttr attrSet, string nsName,
     string name, bool isValueClass, PEFile pefile)
 {
     ClassRef cRef = new ClassRef(this,nsName,name);
     if (isValueClass) cRef.MakeValueClass();
     ExternClass eClass = new ExternClass(attrSet,nsName,name,modFile);
     exportedClasses.Add(eClass);
     cRef.SetExternClass(eClass);
     classes.Add(cRef);
     return cRef;
 }