向dll类添加方法

本文关键字:方法 添加 dll | 更新日期: 2023-09-27 18:18:44

我的问题是:

我有一个包含一些数学函数的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的代码

如果你的问题不够清楚,我很抱歉,如果你需要进一步的解释,请问

任何帮助都可能有用

我在论坛上搜索,我没有找到对我有帮助的东西,但如果你认为这个问题已经回答了,就给我链接

非常感谢

向dll类添加方法

您可以创建一个扩展方法

如果你想给matheexpressionevaluation类添加一个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);

希望对你有帮助!