Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DesignerAttribute.cs
Go to the documentation of this file.
2
4
5[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = true, Inherited = true)]
6public sealed class DesignerAttribute : Attribute
7{
8 private string _typeId;
9
10 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
11 public string DesignerBaseTypeName { get; }
12
13 [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
14 public string DesignerTypeName { get; }
15
16 public override object TypeId
17 {
18 get
19 {
20 if (_typeId == null)
21 {
22 string text = DesignerBaseTypeName ?? string.Empty;
23 int num = text.IndexOf(',');
24 if (num != -1)
25 {
26 text = text.Substring(0, num);
27 }
28 _typeId = GetType().FullName + text;
29 }
30 return _typeId;
31 }
32 }
33
34 public DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName)
35 {
36 DesignerTypeName = designerTypeName ?? throw new ArgumentNullException("designerTypeName");
37 DesignerBaseTypeName = "System.ComponentModel.Design.IDesigner, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
38 }
39
40 public DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerType)
41 {
42 if (designerType == null)
43 {
44 throw new ArgumentNullException("designerType");
45 }
47 DesignerBaseTypeName = "System.ComponentModel.Design.IDesigner, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
48 }
49
50 public DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerBaseTypeName)
51 {
52 DesignerTypeName = designerTypeName ?? throw new ArgumentNullException("designerTypeName");
53 DesignerBaseTypeName = designerBaseTypeName;
54 }
55
56 public DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerBaseType)
57 {
58 if (designerTypeName == null)
59 {
60 throw new ArgumentNullException("designerTypeName");
61 }
62 if (designerBaseType == null)
63 {
64 throw new ArgumentNullException("designerBaseType");
65 }
66 DesignerTypeName = designerTypeName;
68 }
69
70 public DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerBaseType)
71 {
72 if (designerType == null)
73 {
74 throw new ArgumentNullException("designerType");
75 }
76 if (designerBaseType == null)
77 {
78 throw new ArgumentNullException("designerBaseType");
79 }
82 }
83
84 public override bool Equals(object? obj)
85 {
86 if (obj == this)
87 {
88 return true;
89 }
90 if (obj is DesignerAttribute designerAttribute && designerAttribute.DesignerBaseTypeName == DesignerBaseTypeName)
91 {
92 return designerAttribute.DesignerTypeName == DesignerTypeName;
93 }
94 return false;
95 }
96
97 public override int GetHashCode()
98 {
100 }
101}
DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName)
DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerBaseType)
DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerType, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerBaseType)
DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerTypeName, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] string designerBaseTypeName)
DesignerAttribute([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)] Type designerType)
string? AssemblyQualifiedName
Definition Type.cs:45