Пример #1
0
 private void AddMissingGenericParameters(IGenericParamProvider provider, int index)
 {
     for (int i = provider.GenericParameters.Length; i <= index; i++)
     {
         provider.AddGenericParameter(new GenericParameter(provider, i));
     }
 }
Пример #2
0
 public GenericParameter(string name, ushort index, GenericParameterAttributes attributes, IGenericParamProvider owner)
     : base(new MetaDataRow(index, (ushort)attributes, 0U, 0U))
 {
     this._name = name;
     if (string.IsNullOrEmpty(name))
     {
         this._name = string.Format("{0}{1}", owner.ParamType == GenericParamType.Type ? "!" : "!!", index);
     }
     this._owner = owner;
 }
Пример #3
0
 public GenericParameter(string name, ushort index, GenericParameterAttributes attributes, IGenericParamProvider owner)
     : base(new MetaDataRow(index, (ushort)attributes, 0U, 0U))
 {
     this._name = name;
     if (string.IsNullOrEmpty(name))
     {
         this._name = string.Format("{0}{1}", owner.ParamType == GenericParamType.Type ? "!" : "!!", index);
     }
     this._owner = owner;
 }
Пример #4
0
        private TypeReference GetGenericParameter(GenericParamType type, int index)
        {
            if (GenericContext != null)
            {
                IGenericParamProvider paramProvider = null;
                if (type == GenericParamType.Method)
                {
                    paramProvider = GenericContext.Method;
                }
                else
                {
                    paramProvider = GenericContext.Type;
                }
                AddMissingGenericParameters(paramProvider, index);
                return(paramProvider.GenericParameters[index]);
            }

            return(new GenericParameter(string.Format("{0}{1}", type == GenericParamType.Method ? "!!" : "!", index), (ushort)index, GenericParameterAttributes.NonVariant, null));
        }
Пример #5
0
 private void AddMissingGenericParameters(IGenericParamProvider provider, int index)
 {
     for (int i = provider.GenericParameters.Length; i <= index; i++)
     {
         provider.AddGenericParameter(new GenericParameter(provider, i));
     }
 }
Пример #6
0
 public override void LoadCache()
 {
     base.LoadCache();
     _owner = Owner;
 }
Пример #7
0
 public GenericParameter(IGenericParamProvider owner, int index)
     : this(string.Empty, (ushort)index, GenericParameterAttributes.NonVariant, owner)
 {
 }
Пример #8
0
 public override void LoadCache()
 {
     base.LoadCache();
     _owner = Owner;
 }
Пример #9
0
 public GenericParameter(IGenericParamProvider owner, int index)
     : this(string.Empty, (ushort)index, GenericParameterAttributes.NonVariant, owner)
 {
 }