NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Type.GetPropertyImpl

When implemented by a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints.

[Visual Basic]
MustOverride Protected Function GetPropertyImpl( _
   ByVal name As String, _
   ByVal bindingAttr As BindingFlags, _
   ByVal binder As Binder, _
   ByVal types() As Type, _
   ByVal modifiers() As ParameterModifier _
) As PropertyInfo
[C#]
protected abstract PropertyInfo GetPropertyImpl(
   string name,
   BindingFlags bindingAttr,
   Binder binder,
   Type[] types,
   ParameterModifier[] modifiers
);
[C++]
protected: virtual PropertyInfo* GetPropertyImpl(
   String* name,
   BindingFlags bindingAttr,
   Binder* binder,
   Type* types[],
   ParameterModifier* modifiers[]
) = 0;
[JScript]
protected abstract function GetPropertyImpl(
   name : String,
   bindingAttr : BindingFlags,
   binder : Binder,
   types : Type[],
   modifiers : ParameterModifier[]
) : PropertyInfo;

Parameters

name
The String containing the name of the property to get.
bindingAttr
A bit mask comprised of one or more BindingFlags that specify how the search is conducted.

-or-

zero, to conduct a case-sensitive search for public properties.

binder
A Binder object that defines a set of properties and enables binding, which may involve selection of an overloaded member, coercion of argument types, and invocation of a member through reflection.

-or-

a null reference (in Visual Basic Nothing), to use the DefaultBinder.

types
An array of Type objects representing the number, order, and type of the parameters for the indexed property to get.

-or-

An empty array of the type Type (that is, Type[] types = new Type[0]) to get a property that is not indexed.

modifiers
An array of ParameterModifier objects representing the attributes associated with the corresponding element in the types array.

Return Value

A PropertyInfo object representing the property that matches the specified requirements, if found; otherwise, a null reference (Nothing).

Exceptions

Exception Type Condition
AmbiguousMatchException More than one property is found with the specified name and matching the specified binding constraints.
ArgumentNullException name is a null reference (Nothing).

-or-

types is a null reference (Nothing).

-or-

One of the elements in types is a null reference (Nothing).

SecurityException The requested property is non-public and the caller does not have ReflectionPermission to reflect non-public members outside the current assembly.
ArgumentException types is multidimensional.

-or-

modifiers is multidimensional.

-or-

types and modifiers do not have the same length.

(?)

Remarks

Abstract. This method must be implemented by a derived class.

The types array and the modifiers array have the same length. A parameter specified in the types array can have the following attributes, which are specified in the modifiers array: pdIn, pdOut, pdLcid, pdRetval, pdOptional, and pdHasDefault, which represent [in], [out], [lcid], [retval], [optional], and a value specifying whether the parameter has a default value. A parameter's associated attributes are stored in the metadata and are used for interoperability.

The following BindingFlags filter flags can be used to define which properties should be included in the search:

The following BindingFlags modifier flags can be used to change how the search works:

See BindingFlags for more information.

See Also

Type Class | Type Members | System Namespace