Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Deployment Guide
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics.Generic Namespace
    • CanSpecializeAttribute Class
    • Complex(T) Structure
    • GenericArithmeticException Class
    • GenericExtensions Class
    • IBitOperations(T) Interface
    • IComplexElementaryFunctions(T, U) Interface
    • IComplexFieldOperations(T, U) Interface
    • IComplexIeeeOperations(T, U) Interface
    • IComplexOperations(T, U) Interface
    • IComplexRingOperations(T, U) Interface
    • IDivisionOperations(T, TClosure) Interface
    • IEuclideanRingOperations(T) Interface
    • IFieldOperations(T) Interface
    • IFractionalOperations(T) Interface
    • IGroupOperations(T) Interface
    • IIeeeOperations(T) Interface
    • IRealOperations(T) Interface
    • IRingOperations(T) Interface
    • IVectorSpaceOperations(TScalar, TVector) Interface
    • Math(T) Class
    • Matrix(T) Class
    • TypeAssociationAttribute Class
    • TypeAssociationRegistry Class
    • Vector(T) Class
  • CanSpecializeAttribute Class
    • Members
    • CanSpecializeAttribute Constructor
    • Methods
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




CanSpecializeAttribute Class

Members See Also 
When applied to a class or structure, indicates that the implementation of the type can be specialized for specific values of the type parameters.

Namespace: Extreme.Mathematics.Generic
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
                      public class CanSpecializeAttribute : Attribute
Visual Basic (Declaration)
                      Public Class CanSpecializeAttribute _
	Inherits Attribute
Visual C++
                      public ref class CanSpecializeAttribute : public Attribute
F#
                      type CanSpecializeAttribute =  
    class
        inherit Attribute
    end

Remarks

Use the CanSpecializeAttribute attribute on a generic type definition to indicate that the implementation can be overridden for specific values of the type parameters.

This attribute has two required parameters. The AssociationKey specifies a unique string value that identifies the specialization. The BaseType specifies the type that contains the generic implementation that can be specialized.

To create a specialization for a specific set of type parameters, inherit from the specialization base type and override any methods for which you have a specialized implementation. Also create a TypeAssociationAttribute that uses the key to associate the specializing type with the type of the type parameter, which is the owner type of the association.

Inheritance Hierarchy

System..::..Object
  System..::..Attribute
    Extreme.Mathematics.Generic..::..CanSpecializeAttribute

See Also

CanSpecializeAttribute Members
Extreme.Mathematics.Generic Namespace

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.