System.Reflection.MetadataImport.GetAssociates C# (CSharp) Method

GetAssociates() public method

public GetAssociates ( int mdPropEvent, AssociateRecord result, int count ) : void
mdPropEvent int
result AssociateRecord
count int
return void
        public unsafe void GetAssociates(int mdPropEvent, AssociateRecord* result, int count) 
        {
            int* temp = stackalloc int[count*2];
            Enum((int)MetadataTokenType.MethodDef, mdPropEvent, temp, count);
            for (int i = 0; i < count; i++)
            {
                result[i].MethodDefToken = temp[i*2];
                result[i].Semantics = (MethodSemanticsAttributes)temp[i * 2 + 1];
            }
        }
        public int GetAssociatesCount(int mdPropEvent) 

Usage Example

        internal unsafe RuntimePropertyInfo(int tkProperty, RuntimeType declaredType, RuntimeType.RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
        {
            RuntimeMethodInfo info;
            MetadataImport    metadataImport = declaredType.GetRuntimeModule().MetadataImport;

            this.m_token = tkProperty;
            this.m_reflectedTypeCache = reflectedTypeCache;
            this.m_declaringType      = declaredType;
            metadataImport.GetPropertyProps(tkProperty, out this.m_utf8name, out this.m_flags, out MetadataArgs.Skip.ConstArray);
            int associatesCount     = metadataImport.GetAssociatesCount(tkProperty);
            AssociateRecord *result = (AssociateRecord *)stackalloc byte[(((IntPtr)associatesCount) * sizeof(AssociateRecord))];

            metadataImport.GetAssociates(tkProperty, result, associatesCount);
            Associates.AssignAssociates(result, associatesCount, declaredType, reflectedTypeCache.RuntimeType, out info, out info, out info, out this.m_getterMethod, out this.m_setterMethod, out this.m_otherMethod, out isPrivate, out this.m_bindingFlags);
        }
All Usage Examples Of System.Reflection.MetadataImport::GetAssociates