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

◆ GetRealObject()

object System.Reflection.ParameterInfo.GetRealObject ( StreamingContext context)
inlineinherited

Implements System.Runtime.Serialization.IObjectReference.

Definition at line 110 of file ParameterInfo.cs.

111 {
112 if (MemberImpl == null)
113 {
114 throw new SerializationException(SR.Serialization_InsufficientState);
115 }
116 switch (MemberImpl.MemberType)
117 {
118 case MemberTypes.Constructor:
119 case MemberTypes.Method:
120 {
121 if (PositionImpl == -1)
122 {
123 if (MemberImpl.MemberType == MemberTypes.Method)
124 {
125 return ((MethodInfo)MemberImpl).ReturnParameter;
126 }
127 throw new SerializationException(SR.Serialization_BadParameterInfo);
128 }
129 ParameterInfo[] indexParameters = ((MethodBase)MemberImpl).GetParametersNoCopy();
130 if (indexParameters != null && PositionImpl < indexParameters.Length)
131 {
133 }
134 throw new SerializationException(SR.Serialization_BadParameterInfo);
135 }
136 case MemberTypes.Property:
137 {
138 ParameterInfo[] indexParameters = ((PropertyInfo)MemberImpl).GetIndexParameters();
139 if (indexParameters != null && PositionImpl > -1 && PositionImpl < indexParameters.Length)
140 {
142 }
143 throw new SerializationException(SR.Serialization_BadParameterInfo);
144 }
145 default:
146 throw new SerializationException(SR.Serialization_NoParameterInfo);
147 }
148 }

References System.Reflection.ParameterInfo.MemberImpl, System.Reflection.MemberInfo.MemberType, System.Reflection.ParameterInfo.PositionImpl, System.SR.Serialization_BadParameterInfo, System.SR.Serialization_InsufficientState, and System.SR.Serialization_NoParameterInfo.