public GetProperty ( string name ) : PropertyInfo | ||
name | string | The string containing the name of the public property to get. |
return | PropertyInfo |
public PropertyInfo GetProperty(string name)
{
if (name == null)
throw new ArgumentNullException("name");
else
return this.GetPropertyImpl(name, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public, (Binder)null, (Type)null, (Type[])null, (ParameterModifier[])null);
}
Type::GetProperty ( string name, BindingFlags bindingAttr ) : PropertyInfo | |
Type::GetProperty ( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo | |
Type::GetProperty ( string name, BindingFlags bindingAttr, Type returnType ) : PropertyInfo | |
Type::GetProperty ( string name, Type types ) : PropertyInfo | |
Type::GetProperty ( string name, Type returnType, Type types ) : PropertyInfo | |
Type::GetProperty ( string name, Type returnType, Type types, ParameterModifier modifiers ) : PropertyInfo |
/// <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"); }