System.Type.GetConstructor C# (CSharp) Method

GetConstructor() public method

Searches for a public instance constructor whose parameters match the types in the specified array.
is null.-or- One of the elements in is null. is multidimensional.
public GetConstructor ( Type types ) : ConstructorInfo
types Type An array of objects representing the number, order, and type of the parameters for the desired constructor.-or- An empty array of objects, to get a constructor that takes no parameters. Such an empty array is provided by the static field .
return ConstructorInfo
        public ConstructorInfo GetConstructor(Type[] types)
        {
            return this.GetConstructor(BindingFlags.Instance | BindingFlags.Public, (Binder)null, types, (ParameterModifier[])null);
        }

Same methods

Type::GetConstructor ( BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type types, ParameterModifier modifiers ) : ConstructorInfo
Type::GetConstructor ( BindingFlags bindingAttr, Binder binder, Type types, ParameterModifier modifiers ) : 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