我用这个类创建了一个dll:
namespace Trace
{
/// <summary>
/// Get the stack
/// </summary>
public class Tracers
{
public string getTrace()
{
return "test";
}
}
}
我编译了项目,将dll包含在另一个解决方案中并尝试访问getTrace()
方法,如下所示:
Tracers.getTrace();
但我明白了:
它必须是属性的引用,方法或字段不是静态的'Trace.Tracers.getTrace()'
我不知道我做错了什么。另一个奇怪的事情是,如果我只写Tracers.
智能感知菜单出现并只显示我:
答案 0 :(得分:4)
您没有Tracers
的实例,因此只能看到静态方法。
使方法static
可行:
public static string getTrace()
{
return "test";
}
或创建Tracers
的实例:
Tracers t = new Tracers();
t.getTrace();
另请注意,命名约定要求getTrace
有一个大写G
,所以:GetTrace
。
答案 1 :(得分:3)
使用此:
Tracers t = new Tracers();
t.getTrace();
答案 2 :(得分:0)
您必须将方法设为static
,如下所示
namespace Trace
{
/// <summary>
/// Get the stack
/// </summary>
public class Tracers
{
public static string getTrace()
{
return "test";
}
}
}
然后你可以这样访问方法
Tracers.getTrace();
或者如果想要使用当前代码,则需要在方法调用之前实例化类
Tracers trace = new Tracers();
trace.getTrace();