Cirrus
This is a Library topic for Cirrus
Introduction | Overview | Classes | Interfaces | Enums

Cirrus is an infrastructure for Aspect-oriented Programming (AOP), that is being added to the Oxygene compiler.
Cirrus extends the .NET attribute system with full support for Aspect-Oriented Programming, allowing the developer to separate concerns such as logging, security or other functionality orthogonal to the regular class hierarchy into Aspects that can be attached to classes or their members, as needed.
Functionality that otherwise would need to be reimplemented in various places across an application or framework can be encapsulated in reusable form and maintained in a single place. Oxygene allows developers both to reuse existing aspects written by third parties or included with the compiler’s standard aspect library, as well as to create their own Aspects.
Read more about Cirrus:
- Cirrus
- External Links:
- Oxygene Aspects to Help with Monobjc Development (RemObjects Blogs)
All Cirrus Library Topics: AnonymousMethodParameter Class — AnonymousMethodValue Class — AnonymousParameterValue Class — AnonymousResultValue Class — ArrayCtorCallValue Class — ArrayValue Class — Aspects Class — AspectsHelper Class — AssignmentStatement Class — AutoInjectIntoTargetAttribute Class — BaseFilteredAspect Class — BeginLocalValue Class — BeginStatement Class — BetweenValue Class — BinaryOperator Enum — BinaryValue Class — BreakStatement Class — CaseItem Class — CaseStatement Class — CaseValue Class — CaseValueItem Class — Cirrus — Cirrus Classes — Cirrus Enums — Cirrus Interfaces — Cirrus Introduction — Cirrus Namespace — Cirrus Namespaces — Cirrus Overview — Cirrus Statements Namespace — Cirrus Values Namespace — CirrusException Class — CoalesceValue Class — ConstructorOfValue Class — ContinueStatement Class — DataValue Class — DefaultValue Class — ElementKind Enum — ExceptLocalValue Class — ExceptStatement Class — ExceptStatementItem Class — ExitStatement Class — FieldOfValue Class — FieldValue Class — ForInLocalValue Class — ForInStatement Class — ForLocalValue Class — ForStatement Class — GenericParameter0 Class — GenericParameter1 Class — GenericParameter2 Class — GenericParameter3 Class — GenericParameter4 Class — GenericParameter5 Class — GenericParameterTypeSpecifierAttribute Class — GenericParameterVariance Enum — IArrayType Interface — IAspectFilter Interface — IAttribute Interface — IAttributeDefinition Interface — IAttributeDefinitionProvider Interface — IAttributesProvider Interface — IAutoGenMethodImplementationDecorator Interface — IBaseAspect Interface — IConstant Interface — IConstantDefinition Interface — IContext Interface — IElementDefinition Interface — IEvent Interface — IEventDefinition Interface — IEventImplementationDecorator Interface — IEventInterfaceDecorator Interface — IField Interface — IFieldDefinition Interface — IFieldInterfaceDecorator Interface — IfStatement Class — IGenericInstantiationType Interface — IGenericParametersProvider Interface — IGenericParameterType Interface — IGenericParameterTypeDefinition Interface — IIfValue Class — IImplements Interface — ILocal Interface — IManagedReferenceType Interface — IMember Interface — IMemberDefinition Interface — IMethod Interface — IMethodCallDecorator Interface — IMethodDefinition Interface — IMethodImplementationDecorator Interface — IMethodInterfaceDecorator Interface — IModifiedType Interface — IMultiDimArrayType Interface — InjectInterfaceAttribute Class — InjectIntoTargetAttribute Class — IParameter Interface — IParameterDefinition Interface — IPointerType Interface — IPosition Interface — IProperty Interface — IPropertyDefinition Interface — IPropertyImplementationDecorator Interface — IPropertyInterfaceDecorator Interface — IServices Interface — ISimpleArrayType Interface — IType Interface — ITypeDefinition Interface — ITypeImplementationDecorator Interface — ITypeInterfaceDecorator Interface — ITypeReference Interface — LengthValue Class — LocalValue Class — LocalVariable Class — LockingLocalValue Class — LockingStatement Class — MethodAspectAttribute Class — MethodGenericParameter0 Class — MethodGenericParameter1 Class — MethodGenericParameter2 Class — MethodGenericParameter3 Class — MethodGenericParameter4 Class — MethodGenericParameter5 Class — MethodOfValue Class — NamedLocalValue Class — NewValue Class — NilValue Class — NotNilValue Class — ParameterizedValue Class — ParameterModifier Enum — ParamValue Class — PlaceHolderStatement Class — ProcPtrValue Class — ProcValue Class — RaiseStatement Class — RangeValue Class — RepeatStatement Class — RequiredInTargetAttribute Class — RequiresBaseClassAttribute Class — RequiresGenericParametersAttribute Class — RequiresInterfaceAttribute Class — ResultValue Class — SelfValue Class — SizeOfValue Class — StandaloneStatement Class — Statement Class — StatementDelegate Class — StatementKind Enum — StatementValue Class — StaticValue Class — SubArrayValue Class — SurroundMethod Enum — TryStatement Class — TypeDefKind Enum — TypeKind Enum — TypeOfValue Class — TypeValue Class — UnaryOperator Enum — UnaryValue Class — UndefinedValue Class — UsingLocalValue Class — UsingStatement Class — Value Class — ValueKind Enum — VirtualMode Enum — Visibility Enum — WhileStatement Class — WithItem Class — WithLocalValue Class — WithStatement Class