는 I는 주어진Dummy를 전역 네임 스페이스에서 내 네임 스페이스로 이동할 수 있습니까?
- 모두 복소수 x 및 y의 관점에서 수학 식의 입력을위한 수학 식 계산기로 복소수 인 X의
- 입력 방법을 만들려
- 또한 복소수 인 y의 입력.
using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.Scripting;
using System;
using System.Numerics;
using System.Text.RegularExpressions;
public class Dummy
{
public Complex x;
public Complex y;
}
namespace Simpler
{
static class Program
{
public static Complex Function(this string e, Complex x, Complex y)
{
Script<Complex> s = CSharpScript.Create<Complex>(e, globalsType: typeof(Dummy));
Complex z = s.RunAsync(new Dummy { x = x, y = y }).Result.ReturnValue;
return z;
}
static void Main(string[] args)
{
Complex x = new Complex(1, 1); // x = 1 + i
Complex y = new Complex(0, 1); // y = i
//string e = "x*y"; // x*y = (1 + i)* i = i + i^2 = i - 1 = -1 + i
string e = "x/y"; // x/y = (1 + i)/ i = 1/i + 1 = -i + 1 = 1 - i
string lhs = Regex.Replace(e, "x", x.ToString());
lhs = Regex.Replace(lhs, "y", y.ToString());
Console.WriteLine($"{lhs} = {e.Function(x, y)}");
}
}
}
질문
우리는 내 자신의 네임 스페이스 Simpler
글로벌 네임 스페이스에서 Dummy
를 이동할 수 있습니까?
예 .. 시도해 보셨습니까? – Nico