public ProviderMethodBindingGenerator( ModuleDefinition moduleDefinition, References references, TypeReference moduleType, MethodDefinition providerMethod, bool isLibrary) : base(moduleDefinition, references) { this.providerMethod = providerMethod; this.moduleType = moduleType; this.isLibrary = isLibrary; var name = ProviderMethod.GetNamedAttributeName(); key = CompilerKeys.ForType(ProviderMethod.ReturnType, name); var attr = providerMethod.CustomAttributes.First(Attributes.IsProvidesAttribute); if (attr.HasConstructorArguments) { var providesTypeArg = attr.ConstructorArguments.Single(); ProvidesType = (ProvidesType)providesTypeArg.Value; } else { ProvidesType = ProvidesType.Default; } }
public ProviderMethodBindingGenerator( ModuleDefinition moduleDefinition, References references, TypeDefinition moduleType, MethodDefinition providerMethod, bool isLibrary) : base(moduleDefinition, references) { this.providerMethod = Conditions.CheckNotNull(providerMethod, "providerMethod"); this.moduleType = Conditions.CheckNotNull(moduleType, "moduleType"); this.isLibrary = isLibrary; var name = ProviderMethod.GetNamedAttributeName(); key = CompilerKeys.ForType(ProviderMethod.ReturnType, name); }