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

◆ GetRequirements()

static SxSRequirements System.Runtime.Versioning.VersioningHelper.GetRequirements ( ResourceScope consumeAsScope,
ResourceScope calleeScope )
inlinestaticprivate

Definition at line 64 of file VersioningHelper.cs.

65 {
66 SxSRequirements sxSRequirements = SxSRequirements.None;
67 switch (calleeScope & (ResourceScope.Machine | ResourceScope.Process | ResourceScope.AppDomain | ResourceScope.Library))
68 {
69 case ResourceScope.Machine:
70 switch (consumeAsScope & (ResourceScope.Machine | ResourceScope.Process | ResourceScope.AppDomain | ResourceScope.Library))
71 {
72 case ResourceScope.Process:
73 sxSRequirements |= SxSRequirements.ProcessID;
74 break;
75 case ResourceScope.AppDomain:
76 sxSRequirements |= SxSRequirements.AppDomainID | SxSRequirements.ProcessID | SxSRequirements.CLRInstanceID;
77 break;
78 default:
79 throw new ArgumentException(SR.Format(SR.Argument_BadResourceScopeTypeBits, consumeAsScope), "consumeAsScope");
80 case ResourceScope.Machine:
81 break;
82 }
83 break;
84 case ResourceScope.Process:
85 if ((consumeAsScope & ResourceScope.AppDomain) != 0)
86 {
87 sxSRequirements |= SxSRequirements.AppDomainID | SxSRequirements.CLRInstanceID;
88 }
89 break;
90 default:
91 throw new ArgumentException(SR.Format(SR.Argument_BadResourceScopeTypeBits, calleeScope), "calleeScope");
92 case ResourceScope.AppDomain:
93 break;
94 }
95 switch (calleeScope & (ResourceScope.Private | ResourceScope.Assembly))
96 {
97 case ResourceScope.None:
98 switch (consumeAsScope & (ResourceScope.Private | ResourceScope.Assembly))
99 {
100 case ResourceScope.Assembly:
101 sxSRequirements |= SxSRequirements.AssemblyName;
102 break;
103 case ResourceScope.Private:
104 sxSRequirements |= SxSRequirements.AssemblyName | SxSRequirements.TypeName;
105 break;
106 default:
107 throw new ArgumentException(SR.Format(SR.Argument_BadResourceScopeVisibilityBits, consumeAsScope), "consumeAsScope");
108 case ResourceScope.None:
109 break;
110 }
111 break;
112 case ResourceScope.Assembly:
113 if ((consumeAsScope & ResourceScope.Private) != 0)
114 {
115 sxSRequirements |= SxSRequirements.TypeName;
116 }
117 break;
118 default:
119 throw new ArgumentException(SR.Format(SR.Argument_BadResourceScopeVisibilityBits, calleeScope), "calleeScope");
120 case ResourceScope.Private:
121 break;
122 }
123 return sxSRequirements;
124 }

References System.SR.Argument_BadResourceScopeTypeBits, System.SR.Argument_BadResourceScopeVisibilityBits, and System.SR.Format().

Referenced by System.Runtime.Versioning.VersioningHelper.MakeVersionSafeName().