将方法添加到dll类

时间:2013-06-17 06:30:47

标签: c# dll sealed

这是我的问题:

我有一个包含一些数学函数的dll,代码就是这样:

internal sealed class TemplateSourceCodeClass
{
    public const string MathExpressionEvaluationCode =
    @"using System;
        class MathExpressionEvaluation
        {
            public object Eval(double value)
            {}
            public double abs(double dValue)
            {}

问题是它只操纵双变量,我需要能够操纵所有类型的数字(UInt32,UInt64,Byte ...)

我应该写另一堂课吗?并使它成为通用类?

该类由dll(另一个类)中的一些方法调用

public class MathExpressionEvaluator : BaseEvaluator
{
    static private CSharpCodeProvider _csharpCodeProvider;
    static private Dictionary<string,object>  equations;
    public MathExpressionEvaluator()
    {}
   public void Compile(string formulaString)
    {}
  • 我无法访问dll的代码

对不起,如果问题不够明确,但如果你需要进一步的解释,请问

任何帮助都可能有用

我在论坛上搜索过,但我没有找到帮助我的内容,但如果您认为问题已经回答,请给我链接

非常感谢你

1 个答案:

答案 0 :(得分:3)

您可以创建extentsion method

如果你想在MathExpressionEvaluation类中添加一个Method,你必须创建一个这样的公共静态类:

public static class Extentions
{
    public static object Eval(this MathExpressionEvaluation mathExpress, double value)
    {
        double x = value;
        object o = null;
        o= value;
        return o;
    }
}

你能用这样的方法之后:

MathExpressionEvaluation mathExpression = new MathExpressionEvaluation();
object o = mathExpression.Eval(1);

希望它有所帮助!