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

◆ Init() [3/5]

void System.Reflection.RuntimeCustomAttributeData.Init ( MarshalAsAttribute marshalAs)
inlineprivate

Definition at line 406 of file RuntimeCustomAttributeData.cs.

407 {
409 m_ctor = typeFromHandle.GetConstructors(BindingFlags.Instance | BindingFlags.Public)[0];
410 m_typedCtorArgs = Array.AsReadOnly(new CustomAttributeTypedArgument[1]
411 {
412 new CustomAttributeTypedArgument(marshalAs.Value)
413 });
414 int num = 3;
415 if (marshalAs.MarshalType != null)
416 {
417 num++;
418 }
419 if ((object)marshalAs.MarshalTypeRef != null)
420 {
421 num++;
422 }
423 if (marshalAs.MarshalCookie != null)
424 {
425 num++;
426 }
427 num++;
428 num++;
429 if ((object)marshalAs.SafeArrayUserDefinedSubType != null)
430 {
431 num++;
432 }
433 CustomAttributeNamedArgument[] array = new CustomAttributeNamedArgument[num];
434 num = 0;
435 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("ArraySubType"), marshalAs.ArraySubType);
436 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("SizeParamIndex"), marshalAs.SizeParamIndex);
437 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("SizeConst"), marshalAs.SizeConst);
438 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("IidParameterIndex"), marshalAs.IidParameterIndex);
439 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("SafeArraySubType"), marshalAs.SafeArraySubType);
440 if (marshalAs.MarshalType != null)
441 {
442 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("MarshalType"), marshalAs.MarshalType);
443 }
444 if ((object)marshalAs.MarshalTypeRef != null)
445 {
446 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("MarshalTypeRef"), marshalAs.MarshalTypeRef);
447 }
448 if (marshalAs.MarshalCookie != null)
449 {
450 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("MarshalCookie"), marshalAs.MarshalCookie);
451 }
452 if ((object)marshalAs.SafeArrayUserDefinedSubType != null)
453 {
454 array[num++] = new CustomAttributeNamedArgument(typeFromHandle.GetField("SafeArrayUserDefinedSubType"), marshalAs.SafeArrayUserDefinedSubType);
455 }
456 m_namedArgs = Array.AsReadOnly(array);
457 }
IList< CustomAttributeTypedArgument > m_typedCtorArgs
IList< CustomAttributeNamedArgument > m_namedArgs

References System.array, System.Reflection.RuntimeCustomAttributeData.m_ctor, System.Reflection.RuntimeCustomAttributeData.m_namedArgs, and System.Reflection.RuntimeCustomAttributeData.m_typedCtorArgs.