我们能把Dummy从全局命名空间移到我自己的命名空间吗?

本文关键字:命名空间 我自己 自己的 我们 Dummy 全局 | 更新日期: 2023-09-27 18:02:28

我想为给定的

创建一个方法作为数学表达式求值器
  • 以x和y为复数的数学表达式输入,
  • 输入x为复数,
  • 输入y, 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)}");

        }
    }
}
<标题>

我们可以将Dummy从全局命名空间移动到我自己的命名空间Simpler吗?

我们能把Dummy从全局命名空间移到我自己的命名空间吗?

将类复制到您的命名空间中,如下所示:

namespace Simpler
{
   public class Dummy
   {
       public Complex x;
       public Complex y;
   }
}

我建议把它放在另一个名为Dummy.cs或类似的文件中。在您完成这些之后,您应该可以从您的Namespace simple访问该类。