Show / Hide Table of Contents

Class ClassifierBase<TModelContract>

Base abstract class for classifiers.

Inheritance
System.Object
System.Dynamic.DynamicObject
ExpandoBase
Expando
NamedElementBase<TModelContract>
ModelElementBase<TModelContract>
ClassifierBase<TModelContract>
EntityType
MessageType
AppServiceType
Classifier
ValueType
PermissionType
ActivityType
Implements
IClassifier
IModelElement
INamedElement
IAggregatedElementInfo
ITypeInfo
IElementInfo
IExpando
System.Dynamic.IDynamicMetaObjectProvider
IIndexable
IAttributeProvider
Inherited Members
ModelElementBase<TModelContract>.Members
ModelElementBase<TModelContract>.Annotations
ModelElementBase<TModelContract>.GetMember(String, Boolean)
ModelElementBase<TModelContract>.AddMember(INamedElement)
NamedElementBase<TModelContract>.Logger
NamedElementBase<TModelContract>.Name
NamedElementBase<TModelContract>.IElementInfo.DeclaringContainer
NamedElementBase<TModelContract>.IElementInfo.Annotations
NamedElementBase<TModelContract>.IAggregatedElementInfo.Parts
NamedElementBase<TModelContract>.QualifiedFullName
NamedElementBase<TModelContract>.FullName
NamedElementBase<TModelContract>.DeclaringContainer
NamedElementBase<TModelContract>.ModelSpace
NamedElementBase<TModelContract>.IsInherited
NamedElementBase<TModelContract>.ConstructionMonitor
NamedElementBase<TModelContract>.Parts
NamedElementBase<TModelContract>.ToString()
NamedElementBase<TModelContract>.GetAttributes<TAttribute>()
NamedElementBase<TModelContract>.AddPart(Object)
ExpandoBase.Item[String]
ExpandoBase.GetDynamicMemberNames()
ExpandoBase.HasDynamicMember(String)
ExpandoBase.TryGetMember(GetMemberBinder, Object)
ExpandoBase.TrySetMember(SetMemberBinder, Object)
ExpandoBase.TryInvokeMember(InvokeMemberBinder, Object[], Object)
ExpandoBase.ToDictionary(Func<String, String>, Func<Object, Object>)
ExpandoBase.GetInnerObjectTypeInfo()
ExpandoBase.GetThisTypeInfo()
ExpandoBase.TryGetValue(String, Object)
ExpandoBase.TrySetValue(String, Object)
System.Dynamic.DynamicObject.GetMetaObject(System.Linq.Expressions.Expression)
System.Dynamic.DynamicObject.TryBinaryOperation(System.Dynamic.BinaryOperationBinder, System.Object, System.Object)
System.Dynamic.DynamicObject.TryConvert(System.Dynamic.ConvertBinder, System.Object)
System.Dynamic.DynamicObject.TryCreateInstance(System.Dynamic.CreateInstanceBinder, System.Object[], System.Object)
System.Dynamic.DynamicObject.TryDeleteIndex(System.Dynamic.DeleteIndexBinder, System.Object[])
System.Dynamic.DynamicObject.TryDeleteMember(System.Dynamic.DeleteMemberBinder)
System.Dynamic.DynamicObject.TryGetIndex(System.Dynamic.GetIndexBinder, System.Object[], System.Object)
System.Dynamic.DynamicObject.TryInvoke(System.Dynamic.InvokeBinder, System.Object[], System.Object)
System.Dynamic.DynamicObject.TrySetIndex(System.Dynamic.SetIndexBinder, System.Object[], System.Object)
System.Dynamic.DynamicObject.TryUnaryOperation(System.Dynamic.UnaryOperationBinder, System.Object)
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: Kephas.Model.Elements
Assembly: Kephas.Model.dll
Syntax
public abstract class ClassifierBase<TModelContract> : ModelElementBase<TModelContract>, IConstructibleElement, IClassifier, IModelElement, INamedElement, IAggregatedElementInfo, ITypeInfo, IElementInfo, IExpando, IDynamicMetaObjectProvider, IIndexable, IAttributeProvider where TModelContract : IClassifier
Type Parameters
Name Description
TModelContract

The type of the model contract (the model interface).

Constructors

| Improve this Doc View Source

ClassifierBase(IModelConstructionContext, String)

Initializes a new instance of the ClassifierBase<TModelContract> class.

Declaration
protected ClassifierBase(IModelConstructionContext constructionContext, string name)
Parameters
Type Name Description
IModelConstructionContext constructionContext

Context for the construction.

System.String name

The name.

Properties

| Improve this Doc View Source

BaseClassifier

Gets the base classifier.

Declaration
public IClassifier BaseClassifier { get; }
Property Value
Type Description
IClassifier

The base classifier.

| Improve this Doc View Source

BaseMixins

Gets the base mixins.

Declaration
public IEnumerable<IClassifier> BaseMixins { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IClassifier>

The base mixins.

| Improve this Doc View Source

GenericTypeArguments

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.

| Improve this Doc View Source

GenericTypeDefinition

Gets a ITypeInfo object that represents a generic type definition from which the current generic type can be constructed.

Declaration
public ITypeInfo GenericTypeDefinition { get; }
Property Value
Type Description
ITypeInfo

The generic type definition.

| Improve this Doc View Source

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.

| Improve this Doc View Source

IsAspect

Gets a value indicating whether this classifier is an aspect of other classifiers.

Declaration
public bool IsAspect { get; }
Property Value
Type Description
System.Boolean

true if this classifier is an aspect of other classifiers, false if not.

| Improve this Doc View Source

IsMixin

Gets a value indicating whether this classifier is a mixin.

Declaration
public bool IsMixin { get; }
Property Value
Type Description
System.Boolean

true if this classifier is a mixin, false if not.

| Improve this Doc View Source

Methods

Gets the classifier methods.

Declaration
public IEnumerable<IMethod> Methods { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IMethod>

The classifier methods.

| Improve this Doc View Source

Namespace

Gets the namespace of the type.

Declaration
public string Namespace { get; }
Property Value
Type Description
System.String

The namespace of the type.

| Improve this Doc View Source

Projection

Gets or sets the projection where the model element is defined.

Declaration
public IModelProjection Projection { get; protected set; }
Property Value
Type Description
IModelProjection

The projection.

| Improve this Doc View Source

Properties

Gets the classifier properties.

Declaration
public IEnumerable<IProperty> Properties { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IProperty>

The classifier properties.

Methods

| Improve this Doc View Source

ComputeBaseClassifier(IModelConstructionContext, IEnumerable<ITypeInfo>)

Calculates the base classifier.

Declaration
protected virtual IClassifier ComputeBaseClassifier(IModelConstructionContext constructionContext, IEnumerable<ITypeInfo> baseTypes)
Parameters
Type Name Description
IModelConstructionContext constructionContext

Context for the construction.

System.Collections.Generic.IEnumerable<ITypeInfo> baseTypes

List of base types.

Returns
Type Description
IClassifier

The calculated base classifier.

| Improve this Doc View Source

ComputeBaseMixins(IModelConstructionContext, IEnumerable<ITypeInfo>)

Calculates the base mixins.

Declaration
protected virtual IEnumerable<IClassifier> ComputeBaseMixins(IModelConstructionContext constructionContext, IEnumerable<ITypeInfo> baseTypes)
Parameters
Type Name Description
IModelConstructionContext constructionContext

Context for the construction.

System.Collections.Generic.IEnumerable<ITypeInfo> baseTypes

List of base types.

Returns
Type Description
System.Collections.Generic.IEnumerable<IClassifier>

The calculated base mixins.

| Improve this Doc View Source

ComputeBaseTypes(IModelConstructionContext, IList<ITypeInfo>)

Calculates the base types.

Declaration
protected virtual IList<ITypeInfo> ComputeBaseTypes(IModelConstructionContext constructionContext, IList<ITypeInfo> parts)
Parameters
Type Name Description
IModelConstructionContext constructionContext

Context for the construction.

System.Collections.Generic.IList<ITypeInfo> parts

The parts.

Returns
Type Description
System.Collections.Generic.IList<ITypeInfo>

The calculated base types.

| Improve this Doc View Source

ComputeIsAspect()

Calculates the flag indicating whether the classifier is an aspect or not.

Declaration
protected virtual bool ComputeIsAspect()
Returns
Type Description
System.Boolean

true if the classifier is an aspect, false otherwise.

| Improve this Doc View Source

ComputeIsAspectOf()

For an aspect, calculates the function to select the classifiers for which this classifier is an aspect.

Declaration
protected virtual Func<IClassifier, bool> ComputeIsAspectOf()
Returns
Type Description
System.Func<IClassifier, System.Boolean>

A function.

| Improve this Doc View Source

ComputeIsMixin()

Calculates the flag indicating whether the classifier is a mixin or not.

Declaration
protected virtual bool ComputeIsMixin()
Returns
Type Description
System.Boolean

true if the classifier is a mixin, false otherwise.

| Improve this Doc View Source

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.

| Improve this Doc View Source

IsAspectOf(IClassifier)

Indicates whether this classifier is an aspect of the provided classifier.

Declaration
public virtual bool IsAspectOf(IClassifier classifier)
Parameters
Type Name Description
IClassifier classifier

The classifier.

Returns
Type Description
System.Boolean

true if this classifier is an aspect of the provided classifier, false if not.

| Improve this Doc View Source

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.

| Improve this Doc View Source

OnCompleteConstruction(IModelConstructionContext)

Called when the construction is complete.

Declaration
protected override void OnCompleteConstruction(IModelConstructionContext constructionContext)
Parameters
Type Name Description
IModelConstructionContext constructionContext

Context for the construction.

Overrides
Kephas.Model.Elements.ModelElementBase<TModelContract>.OnCompleteConstruction(Kephas.Model.Construction.IModelConstructionContext)

Explicit Interface Implementations

| Improve this Doc View Source

ITypeInfo.BaseTypes

Gets the bases of this ITypeInfo. They include the real base and also the implemented interfaces.

Declaration
IEnumerable<ITypeInfo> ITypeInfo.BaseTypes { get; }
Returns
Type Description
System.Collections.Generic.IEnumerable<ITypeInfo>

The bases.

| Improve this Doc View Source

ITypeInfo.GetMember(String, Boolean)

Gets a member by the provided name.

Declaration
IElementInfo ITypeInfo.GetMember(string name, bool throwIfNotFound)
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 null.

| Improve this Doc View Source

ITypeInfo.Members

Gets the members.

Declaration
IEnumerable<IElementInfo> ITypeInfo.Members { get; }
Returns
Type Description
System.Collections.Generic.IEnumerable<IElementInfo>

The members.

| Improve this Doc View Source

ITypeInfo.Properties

Gets the enumeration of properties.

Declaration
IEnumerable<IPropertyInfo> ITypeInfo.Properties { get; }
Returns
Type Description
System.Collections.Generic.IEnumerable<IPropertyInfo>

Implements

IClassifier
IModelElement
INamedElement
IAggregatedElementInfo
ITypeInfo
IElementInfo
IExpando
System.Dynamic.IDynamicMetaObjectProvider
IIndexable
IAttributeProvider

Extension Methods

DynamicObjectExtensions.SetPropertyValue(Object, String, Object)
DynamicObjectExtensions.TrySetPropertyValue(Object, String, Object)
DynamicObjectExtensions.GetPropertyValue(Object, String)
DynamicObjectExtensions.TryGetPropertyValue(Object, String, out Object)
DynamicObjectExtensions.GetRuntimeTypeInfo(Object)
DynamicObjectExtensions.ToDynamic(Object)
DynamicObjectExtensions.ToExpando(Object)
BehaviorValue.ToBehaviorValue<TValue>(TValue)
CollectionExtensions.AddRange<T, TItem>(T, IEnumerable<TItem>)
LoggingExtensions.GetLogger(Object, IContext)
TypeExtensions.GetAbstractType(Object)
TypeExtensions.GetAbstractTypeInfo(Object)
ReflectionHelper.GetTypeInfo(Object)
ModelElementExtensions.GetDeclaredMembers(IModelElement)
RuntimeTypeInfoExtensions.IsExcludedFromModel(IAttributeProvider)
EntityEntryExtensions.TryGetAttachedEntityEntry(Object)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX