2013-06-17 1 views
1

에 방법을 추가하는 것은 내 문제입니다 :dll을 클래스 다음

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

probleme는 단지 두 변수를 조작하고 있다는 것입니다 : 나는 몇 가지 수학 함수를 포함하는 DLL을 가지고

, 코드는 그 방법을 찾습니다 모든 종류의 숫자 (UInt32, UInt64, Byte ...)를 조작 할 수 있어야합니다.

다른 클래스를 써야합니까? 일반적인 클래스로 만드시겠습니까?

클래스는 (다른 클래스)

public class MathExpressionEvaluator : BaseEvaluator 
{ 
    static private CSharpCodeProvider _csharpCodeProvider; 
    static private Dictionary<string,object> equations; 
    public MathExpressionEvaluator() 
    {} 
    public void Compile(string formulaString) 
    {} 
  • 는 DLL 내부의 방법에 의해 불려 나는

내가 질문을하면 미안 해요 t는 DLL의 코드에 액세스 할 돈 충분히 명확하지 않지만 더 이상의 expplications가 필요하면 그냥 물어보십시오

어떤 도움도 유용 할 수 있습니다

,

나는 포럼에 검색 나는 t 나에게 도움이 뭔가를 찾을 수 있지만 문제는 이미 단지 나에게 링크

을 줄 응답되는 것을 생각하면

+1

DLL이 아닌 경우 동작을 수정할 수 없지만 입력/출력을 캐스팅 할 수는 있지만 정밀도는 없습니다. – Sayse

+0

이 .dll에 추가해야합니까? 다른 사람이 사용합니까? 너 자신을 위해서만 필요하다면, 당신은 당신의 학급을 확장 할 수 있습니다. 그것을 재건하지 않고 .dll에 뭔가를 추가 할 수는 없으므로 전체 DLL의 소스 코드가 있어야합니다. –

답변

3

는 당신이 extentsion method

을 만들 수의 verry 감사 바랬다 - 당신은 당신에게 당신의 방법을 할 수있는 후

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

: 당신이 MathExpressionEvaluation 클래스에 메소드를 추가 완 경우

,이 같은 공공 정적 클래스를 생성 할 필요가 좋아요 :

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

희망이 있습니다.

+0

감사합니다. Joffrey Kern 시도해 보겠습니다. – user2492258

+0

도움이 되길 바랍니다! –