示例#1
0
 public NativeArray(NativeType elemType, int len)
     : base((byte)NativeTypeIx.Array)
 {
     Contract.Requires(len >= 0);
     this.elemType = elemType;
     this.len = (uint)len;
 }
示例#2
0
        /*-------------------- Constructors ---------------------------------*/

        internal FieldMarshal(MetaDataElement field, NativeType nType)
        {
            Contract.Requires(field != null);
            this.field = field;
            this.nt = nType;
            tabIx = MDTable.FieldMarshal;
        }
示例#3
0
 internal NativeArray(NativeType elemType, uint pNum, uint elemMult, uint numElem)
     : base((byte)NativeTypeIx.Array)
 {
     this.elemType = elemType;
     parNum = pNum;
     this.elemMult = elemMult;
     len = numElem;
 }
示例#4
0
 public NativeArray(NativeType elemType, int numElem, int parNumForLen)
     : base((byte)NativeTypeIx.Array)
 {
     this.elemType = elemType;
     len = (uint)numElem;
     Contract.Requires(numElem >= 0);
     parNum = (uint)parNumForLen;
 }
示例#5
0
 internal override void Resolve(PEReader buff)
 {
     field = buff.GetCodedElement(CIx.HasFieldMarshal, parentIx);
     nt = buff.GetBlobNativeType(ntIx);
     if (field is FieldDef)
     {
         ((FieldDef)field).SetMarshalType(nt);
     }
     else
     {
         ((Param)field).SetMarshalType(nt);
     }
 }
示例#6
0
 /// <summary>
 /// Set the marshalling info for a field
 /// </summary>
 /// <param name="mType"></param>
 public void SetMarshalType(NativeType mType)
 {
     flags |= HasFieldMarshal;
     marshalType = mType;
 }
示例#7
0
 public void RemoveMarshalType()
 {
     marshalType = null; flags &= NoFieldMarshal;
 }
示例#8
0
 /*-------------------- Constructors ---------------------------------*/
 public NativeArray(NativeType elemType)
     : base((byte)NativeTypeIx.Array)
 {
     this.elemType = elemType;
 }