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

◆ RemoveDelegate()

void System.Runtime.InteropServices.ComEventsMethod.RemoveDelegate ( Delegate d,
bool wrapArgs = false )
inline

Definition at line 147 of file ComEventsMethod.cs.

148 {
150 {
151 int num = -1;
152 DelegateWrapper delegateWrapper = null;
153 for (int i = 0; i < _delegateWrappers.Count; i++)
154 {
155 DelegateWrapper delegateWrapper2 = _delegateWrappers[i];
156 if (delegateWrapper2.Delegate.GetType() == d.GetType() && delegateWrapper2.WrapArgs == wrapArgs)
157 {
158 num = i;
160 break;
161 }
162 }
163 if (num >= 0)
164 {
166 if ((object)@delegate != null)
167 {
168 delegateWrapper.Delegate = @delegate;
169 }
170 else
171 {
172 _delegateWrappers.RemoveAt(num);
173 }
174 }
175 }
176 }
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
readonly List< DelegateWrapper > _delegateWrappers

References System.Runtime.InteropServices.ComEventsMethod._delegateWrappers, System.Collections.Generic.Dictionary< TKey, TValue >.Count, and System.Delegate.Remove().

Referenced by System.Runtime.InteropServices.ComEventsHelper.Remove().