Click here to Skip to main content
15,885,914 members
Articles / Programming Languages / Visual Basic

Mathemathics Framework

Rate me:
Please Sign up or sign in to vote.
4.76/5 (56 votes)
16 Sep 2008CPOL6 min read 75.3K   6.2K   171  
.NET Mathematical Framework
Imports BV.Core
Imports BV.Math
Imports IMidRange
Imports System.ComponentModel


Public Class BuitlInFunctionContainer
    Implements IDescribible

    Public Enum EOperatorType
        Unary
        Binary
        BinaryDependent
    End Enum

    Protected intName As DescribibleBase
    'Protected intDescription As String
    Protected intExpresionOperator As String       'string que se utiliza para buscar en el string ha parsear
    Protected intDelegateUU As OperDelegateUU
    Protected intDelegateU As OperDelegateU
    Protected intDelegateDU As DependentFunctionContainer
    Protected intOperatorType As EOperatorType
    ' Protected Delegate Sub a()

    Public Sub New(ByVal Name As String, ByVal Desc As String, ByVal StrConv As String, ByVal Del As OperDelegateU)
        Me.Initialize(Name, Desc, StrConv)
        Me.intDelegateU = Del
        Me.intOperatorType = EOperatorType.Binary
    End Sub

    Public Sub New(ByVal Name As String, ByVal Desc As String, ByVal StrConv As String, ByVal Del As DependentFunctionContainer)
        Me.Initialize(Name, Desc, StrConv)
        intDelegateDU = Del
        Me.intOperatorType = EOperatorType.BinaryDependent
    End Sub

    Public Sub New(ByVal Name As String, ByVal Desc As String, ByVal StrConv As String, ByVal Del As OperDelegateUU)
        Me.Initialize(Name, Desc, StrConv)
        Me.intDelegateUU = Del
        Me.intOperatorType = EOperatorType.Unary
    End Sub

    Protected Sub Initialize(ByVal Name As String, ByVal Desc As String, ByVal StrConv As String)
        Me.intName = New DescribibleBase
        Me.intName.Name = Name
        Me.intName.BriefDescription = Desc
        Me.intExpresionOperator = StrConv
    End Sub


    Public ReadOnly Property FunctionExpresionOperator() As String
        Get
            Return Me.intExpresionOperator
        End Get
    End Property

    Public ReadOnly Property FunctionDescription() As String
        Get
            Return Me.intName.BriefDescription
        End Get
    End Property

    Public ReadOnly Property OperatorType() As EOperatorType
        Get
            Return Me.intOperatorType
        End Get
    End Property

    Public ReadOnly Property FunctionName() As String
        Get
            Return Me.intName.Name
        End Get
    End Property

    Public ReadOnly Property DelegatePointer() As [Delegate]
        Get
            If Not Me.intDelegateU Is Nothing Then
                Return Me.intDelegateU
            End If
            Return Me.intDelegateUU
        End Get
    End Property

    Public ReadOnly Property DelegateDependentPointer() As DependentFunctionContainer
        Get
            Return Me.intDelegateDU
        End Get
    End Property

    Public Property Name() As String Implements Core.INameable.Name
        Get
            Return Me.intName.Name
        End Get
        Set(ByVal value As String)
            MessageManager.Send(Me, New MessageEventArgs("Trying to change Built Function Name To:" & value, MessageEventArgs.EMessageType.Warning))
            ' Me.intName.Name = value
        End Set
    End Property

    Public Property BriefDescription() As String Implements Core.IDescribible.BriefDescription
        Get
            Return Me.intName.BriefDescription
        End Get
        Set(ByVal value As String)
            MessageManager.Send(Me, New MessageEventArgs("Trying to change Built Function BriefDescription To:" & value, MessageEventArgs.EMessageType.Warning))
        End Set
    End Property

    Public Property Description() As String Implements Core.IDescribible.Description
        Get
            Return Me.intName.Description
        End Get
        Set(ByVal value As String)
            MessageManager.Send(Me, New MessageEventArgs("Trying to change Built Function Description To:" & value, MessageEventArgs.EMessageType.Warning))
        End Set
    End Property

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Engineer Universidad Tecnológica Nacional
Argentina Argentina
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions