Class DynamicTypeInfo
Dynamic type information.
Inheritance
Implements
Inherited Members
Namespace: Kephas.Reflection.Dynamic
Assembly: Kephas.Core.dll
Syntax
public class DynamicTypeInfo : DynamicElementInfo, ITypeInfo, IElementInfo, IExpando, IDynamicMetaObjectProvider, IIndexable, IAttributeProvider
Properties
| Improve this Doc View SourceBaseTypes
Gets the bases of this ITypeInfo. They include the real base and also the implemented interfaces.
Declaration
public IEnumerable<ITypeInfo> BaseTypes { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<ITypeInfo> | The bases. |
FullName
Gets the full name of the element.
Declaration
public override string FullName { get; }
Property Value
Type | Description |
---|---|
System.String | The full name of the element. |
Overrides
| Improve this Doc View SourceGenericTypeArguments
Gets a read-only list of ITypeInfo objects that represent the type arguments of a closed generic type.
Declaration
public IReadOnlyList<ITypeInfo> GenericTypeArguments { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<ITypeInfo> | The generic arguments. |
GenericTypeDefinition
Gets or sets a ITypeInfo object that represents a generic type definition from which the current generic type can be constructed.
Declaration
public ITypeInfo GenericTypeDefinition { get; protected set; }
Property Value
Type | Description |
---|---|
ITypeInfo | The generic type definition. |
GenericTypeParameters
Gets a read-only list of ITypeInfo objects that represent the type parameters of a generic type definition (open generic).
Declaration
public IReadOnlyList<ITypeInfo> GenericTypeParameters { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<ITypeInfo> | The generic arguments. |
Members
Gets the members.
Declaration
public IEnumerable<IElementInfo> Members { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IElementInfo> | The members. |
Namespace
Gets or sets the namespace of the type.
Declaration
public string Namespace { get; protected set; }
Property Value
Type | Description |
---|---|
System.String | The namespace of the type. |
Properties
Gets the properties.
Declaration
public IEnumerable<IPropertyInfo> Properties { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<IPropertyInfo> | The properties. |
QualifiedFullName
Gets or sets the full name qualified with the module where it was defined.
Declaration
public virtual string QualifiedFullName { get; protected set; }
Property Value
Type | Description |
---|---|
System.String | The full name qualified with the module. |
Methods
| Improve this Doc View SourceAddBaseType(ITypeInfo)
Adds a base type to the dynamic type.
Declaration
protected virtual void AddBaseType(ITypeInfo baseType)
Parameters
Type | Name | Description |
---|---|---|
ITypeInfo | baseType | The base type. |
AddGenericTypeArgument(ITypeInfo)
Adds a generic type argument to the dynamic type.
Declaration
protected virtual void AddGenericTypeArgument(ITypeInfo genericTypeArgument)
Parameters
Type | Name | Description |
---|---|---|
ITypeInfo | genericTypeArgument | The generic type argument. |
AddGenericTypeParameter(ITypeInfo)
Adds a generic type parameter to the dynamic type.
Declaration
protected virtual void AddGenericTypeParameter(ITypeInfo genericTypeParameter)
Parameters
Type | Name | Description |
---|---|---|
ITypeInfo | genericTypeParameter | The generic type parameter. |
AddMember(IElementInfo)
Adds a member to the dynamic type.
Declaration
protected virtual void AddMember(IElementInfo member)
Parameters
Type | Name | Description |
---|---|---|
IElementInfo | member | The member. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown when the requested operation is invalid. |
CreateInstance(IEnumerable<Object>)
Creates an instance with the provided arguments (if any).
Declaration
public virtual object CreateInstance(IEnumerable<object> args = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<System.Object> | args | The arguments. |
Returns
Type | Description |
---|---|
System.Object | The new instance. |
GetMember(String, Boolean)
Gets a member by the provided name.
Declaration
public virtual IElementInfo GetMember(string name, bool throwIfNotFound = true)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The member name. |
System.Boolean | throwIfNotFound | True to throw if the requested member is not found. |
Returns
Type | Description |
---|---|
IElementInfo | The requested member, or |
MakeGenericType(IEnumerable<ITypeInfo>, IContext)
Constructs a generic type baed on the provided type arguments.
Declaration
public ITypeInfo MakeGenericType(IEnumerable<ITypeInfo> typeArguments, IContext constructionContext = null)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.IEnumerable<ITypeInfo> | typeArguments | The type arguments. |
IContext | constructionContext | The construction context (optional). |
Returns
Type | Description |
---|---|
ITypeInfo | A constructed ITypeInfo. |