private MethodSymbol FindDelegateConstructor(AggregateSymbol delegateType) { Debug.Assert(delegateType != null && delegateType.IsDelegate()); MethodSymbol ctor = FindDelegateConstructor(delegateType, s_DelegateCtorSignature1); if (ctor == null) { ctor = FindDelegateConstructor(delegateType, s_DelegateCtorSignature2); } return ctor; }
// delegate specific helpers private MethodSymbol FindDelegateConstructor(AggregateSymbol delegateType, int[] signature) { Debug.Assert(delegateType != null && delegateType.IsDelegate()); Debug.Assert(signature != null); return LoadMethod( delegateType, signature, 0, // meth ty vars GetPredefName(PredefinedName.PN_CTOR), ACCESS.ACC_PUBLIC, false, // MethodCallingConventionEnum.Static false); // MethodCallingConventionEnum.Virtual }