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

◆ GetTypeName()

string System.Diagnostics.Tracing.ManifestBuilder.GetTypeName ( Type type)
inlineprivate

Definition at line 751 of file ManifestBuilder.cs.

752 {
753 if (type.IsEnum)
754 {
755 string typeName = GetTypeName(type.GetEnumUnderlyingType());
756 return typeName.Replace("win:Int", "win:UInt");
757 }
758 switch (Type.GetTypeCode(type))
759 {
760 case TypeCode.Boolean:
761 return "win:Boolean";
762 case TypeCode.Byte:
763 return "win:UInt8";
764 case TypeCode.Char:
765 case TypeCode.UInt16:
766 return "win:UInt16";
767 case TypeCode.UInt32:
768 return "win:UInt32";
769 case TypeCode.UInt64:
770 return "win:UInt64";
771 case TypeCode.SByte:
772 return "win:Int8";
773 case TypeCode.Int16:
774 return "win:Int16";
775 case TypeCode.Int32:
776 return "win:Int32";
777 case TypeCode.Int64:
778 return "win:Int64";
779 case TypeCode.String:
780 return "win:UnicodeString";
781 case TypeCode.Single:
782 return "win:Float";
783 case TypeCode.Double:
784 return "win:Double";
785 case TypeCode.DateTime:
786 return "win:FILETIME";
787 default:
788 if (type == typeof(Guid))
789 {
790 return "win:GUID";
791 }
792 if (type == typeof(IntPtr))
793 {
794 return "win:Pointer";
795 }
796 if ((type.IsArray || type.IsPointer) && type.GetElementType() == typeof(byte))
797 {
798 return "win:Binary";
799 }
800 ManifestError(SR.Format(SR.EventSource_UnsupportedEventTypeInManifest, type.Name), runtimeCritical: true);
801 return string.Empty;
802 }
803 }
void ManifestError(string msg, bool runtimeCritical=false)

References System.SR.EventSource_UnsupportedEventTypeInManifest, System.SR.Format(), System.Type.GetTypeCode(), System.Diagnostics.Tracing.ManifestBuilder.GetTypeName(), System.Diagnostics.Tracing.ManifestBuilder.ManifestError(), and System.type.

Referenced by System.Diagnostics.Tracing.ManifestBuilder.AddEventParameter(), and System.Diagnostics.Tracing.ManifestBuilder.GetTypeName().