System.Type.GetConstructor C# (CSharp) Method

GetConstructor() public method

Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints.
is null.-or- One of the elements in is null. is multidimensional.-or- is multidimensional.-or- and do not have the same length.
public GetConstructor ( BindingFlags bindingAttr, Binder binder, Type types, ParameterModifier modifiers ) : ConstructorInfo
bindingAttr BindingFlags A bitmask comprised of one or more that specify how the search is conducted.-or- Zero, to return null.
binder Binder An object that defines a set of properties and enables binding, which can involve selection of an overloaded method, coercion of argument types, and invocation of a member through reflection.-or- A null reference (Nothing in Visual Basic), to use the .
types Type An array of objects representing the number, order, and type of the parameters for the constructor to get.-or- An empty array of the type (that is, Type[] types = new Type[0]) to get a constructor that takes no parameters.-or- .
modifiers ParameterModifier An array of objects representing the attributes associated with the corresponding element in the parameter type array. The default binder does not process this parameter.
return ConstructorInfo
        public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers)
        {
            if (types == null)
                throw new ArgumentNullException("types");
            for (int index = 0; index < types.Length; ++index)
            {
                if (types[index] == (Type)null)
                    throw new ArgumentNullException("types");
            }
            return this.GetConstructorImpl(bindingAttr, binder, CallingConventions.Any, types, modifiers);
        }

Same methods

Type::GetConstructor ( BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : ConstructorInfo
Type::GetConstructor ( Type types ) : ConstructorInfo

Usage Example

Ejemplo n.º 1
5
 /// <summary>
 /// Создает на основе типа фильтр
 /// </summary>
 /// <param name="lib"></param>
 /// <param name="type"></param>
 public Filter(string lib, Type type)
 {
     libname = lib;
     if (type.BaseType == typeof(AbstractFilter))
     {
         Exception fullex = new Exception("");
         ConstructorInfo ci = type.GetConstructor(System.Type.EmptyTypes);
         filter = ci.Invoke(null);
         PropertyInfo everyprop;
         everyprop = type.GetProperty("Name");
         name = (string)everyprop.GetValue(filter, null);
         everyprop = type.GetProperty("Author");
         author = (string)everyprop.GetValue(filter, null);
         everyprop = type.GetProperty("Ver");
         version = (Version)everyprop.GetValue(filter, null);
         help = type.GetMethod("Help");
         MethodInfo[] methods = type.GetMethods();
         filtrations = new List<Filtration>();
         foreach (MethodInfo mi in methods)
             if (mi.Name == "Filter")
             {
                 try
                 {
                     filtrations.Add(new Filtration(mi));
                 }
                 catch (TypeLoadException)
                 {
                     //Не добавляем фильтрацию.
                 }
             }
         if (filtrations == null) throw new TypeIncorrectException("Класс " + name + " не содержит ни одной фильтрации");
     }
     else
         throw new TypeLoadException("Класс " + type.Name + " не наследует AbstractFilter");
 }
All Usage Examples Of System.Type::GetConstructor