private void ComputeGenericParameters()
        {
            var genericParameterHandles = _typeDefinition.GenericParameters;
            int count = genericParameterHandles.Count;

            if (count > 0)
            {
                TypeDesc[] genericParameters = new TypeDesc[count];
                int        i = 0;
                foreach (var genericParameterHandle in genericParameterHandles)
                {
                    genericParameters[i++] = new NativeFormatGenericParameter(_metadataUnit, genericParameterHandle);
                }
                Interlocked.CompareExchange(ref _genericParameters, genericParameters, null);
            }
            else
            {
                _genericParameters = TypeDesc.EmptyTypes;
            }
        }
Beispiel #2
0
 private void ComputeGenericParameters()
 {
     var genericParameterHandles = MetadataReader.GetMethod(_handle).GenericParameters;
     int count = genericParameterHandles.Count;
     if (count > 0)
     {
         TypeDesc[] genericParameters = new TypeDesc[count];
         int i = 0;
         foreach (var genericParameterHandle in genericParameterHandles)
         {
             genericParameters[i++] = new NativeFormatGenericParameter(MetadataUnit, genericParameterHandle);
         }
         Interlocked.CompareExchange(ref _genericParameters, genericParameters, null);
     }
     else
     {
         _genericParameters = TypeDesc.EmptyTypes;
     }
 }