Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetMemberWithSameMetadataDefinitionAs()

override MemberInfo System.RuntimeType.GetMemberWithSameMetadataDefinitionAs ( MemberInfo member)
inlinevirtual

Reimplemented from System.Type.

Definition at line 2710 of file RuntimeType.cs.

2711 {
2712 if ((object)member == null)
2713 {
2714 throw new ArgumentNullException("member");
2715 }
2716 RuntimeType runtimeType = this;
2717 while (runtimeType != null)
2718 {
2719 MemberInfo memberInfo = member.MemberType switch
2720 {
2721 MemberTypes.Method => GetMethodWithSameMetadataDefinitionAs(runtimeType, member),
2722 MemberTypes.Constructor => GetConstructorWithSameMetadataDefinitionAs(runtimeType, member),
2723 MemberTypes.Property => GetPropertyWithSameMetadataDefinitionAs(runtimeType, member),
2724 MemberTypes.Field => GetFieldWithSameMetadataDefinitionAs(runtimeType, member),
2725 MemberTypes.Event => GetEventWithSameMetadataDefinitionAs(runtimeType, member),
2726 MemberTypes.NestedType => GetNestedTypeWithSameMetadataDefinitionAs(runtimeType, member),
2727 _ => null,
2728 };
2729 if (memberInfo != null)
2730 {
2731 return memberInfo;
2732 }
2733 runtimeType = runtimeType.GetBaseType();
2734 }
2735 throw Type.CreateGetMemberWithSameMetadataDefinitionAsNotFoundException(member);
2736 }
static MemberInfo GetNestedTypeWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo nestedType)
static MemberInfo GetMethodWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo method)
static MemberInfo GetPropertyWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo property)
static MemberInfo GetFieldWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo field)
static MemberInfo GetEventWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo eventInfo)
static MemberInfo GetConstructorWithSameMetadataDefinitionAs(RuntimeType runtimeType, MemberInfo constructor)

References System.Type.CreateGetMemberWithSameMetadataDefinitionAsNotFoundException(), System.RuntimeType.GetConstructorWithSameMetadataDefinitionAs(), System.RuntimeType.GetEventWithSameMetadataDefinitionAs(), System.RuntimeType.GetFieldWithSameMetadataDefinitionAs(), System.RuntimeType.GetMethodWithSameMetadataDefinitionAs(), System.RuntimeType.GetNestedTypeWithSameMetadataDefinitionAs(), and System.RuntimeType.GetPropertyWithSameMetadataDefinitionAs().