从另一个名称空间调用一个方法,并将结果显示到另一个名称空间的文本框中

时间:2018-08-21 01:38:08

标签: c# methods instance

我有一个来自命名空间的方法:GraphiQS.Core.Models

  public static float ComputeLength(PointF start, PointF end, float scale)
    {
        var a = end.X - start.X;
        var b = end.Y - start.Y;
        var result = (float) Math.Sqrt(a * a + b * b);
        return result * scale;
    }

,我希望此方法的结果显示在名称空间GraphiQS.UI.Tests.Forms的文本框中。我该怎么办?我尝试创建它的一个实例,但是我不知道下一步该怎么做。

1 个答案:

答案 0 :(得分:1)

假设这两个名称空间存在于同一程序集中,则可以通过向您要从中调用该方法的源文件中添加using语句来访问此方法。看起来像这样:

使用GraphiQS.Core.Models;

这将与其余using语句一起使用。之后,您可以像这样从代码主体中调用方法:

{classname} .ComputeLength(someStart,someEnd,someScale);

{classname}是指您的方法所属的类。目前尚不清楚您是否尝试在不引用该类的情况下直接调用该方法(该方法无效)。您对尝试创建实例的说法感到困惑。由于ComputeLength是静态方法,因此无需使用它所属类的实例即可使用它。如果您的程序集中存在名称空间,我想您可能遇到以下问题之一:

  1. 您正尝试直接调用该方法,而不引用上面显示的类

  2. 您缺少using语句

如果两个命名空间不在同一个程序集中,则可能缺少对包含GraphiQS.Core.Models命名空间的程序集的引用。仔细检查并确保引用所有必要的程序集。