这是我的问题:
我有一个包含一些数学函数的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)
{}
对不起,如果问题不够明确,但如果你需要进一步的解释,请问
任何帮助都可能有用
我在论坛上搜索过,但我没有找到帮助我的内容,但如果您认为问题已经回答,请给我链接
非常感谢你
答案 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);
希望它有所帮助!