internal RuntimePropertyInfo(
int tkProperty, RuntimeType declaredType, RuntimeTypeCache reflectedTypeCache, out bool isPrivate)
{
ASSERT.PRECONDITION(declaredType != null);
ASSERT.PRECONDITION(reflectedTypeCache != null);
ASSERT.PRECONDITION(!reflectedTypeCache.IsGlobal);
MetadataImport scope = declaredType.Module.MetadataImport;
m_token = tkProperty;
m_reflectedTypeCache = reflectedTypeCache;
m_declaringType = declaredType;
RuntimeTypeHandle declaredTypeHandle = declaredType.GetTypeHandleInternal();
RuntimeTypeHandle reflectedTypeHandle = reflectedTypeCache.RuntimeTypeHandle;
RuntimeMethodInfo dummy;
scope.GetPropertyProps(tkProperty, out m_utf8name, out m_flags, out MetadataArgs.Skip.ConstArray);
int cAssociateRecord = scope.GetAssociatesCount(tkProperty);
AssociateRecord* associateRecord = stackalloc AssociateRecord[cAssociateRecord];
scope.GetAssociates(tkProperty, associateRecord, cAssociateRecord);
Associates.AssignAssociates(associateRecord, cAssociateRecord, declaredTypeHandle, reflectedTypeHandle,
out dummy, out dummy, out dummy,
out m_getterMethod, out m_setterMethod, out m_otherMethod,
out isPrivate, out m_bindingFlags);
}
#endregion