我希望能够通过程序在抽象类RaiseMessage
上以及其他类上使用方法AgentBase
。
public class MNyTestAgent: AgentBase
{
RaiseMessage("hey", "hey")
var a = new Foo();
}
public class Foo
{
public Foo()
{
RaiseMessage("","") -<< how do i use it here
}
}
答案 0 :(得分:0)
首先,您的代码不是有效的C#。
第二,如果您想让其他地方都可以访问的方法,则可能需要public static
。要实现public static
方法,您需要首先重新考虑自己的生活选择,因为在Agent
类中这样做似乎是不良的设计并违反了OOP原则。如果您仍然认为自己需要它,则应该可以执行以下操作:
public abstract class AgentBase
{
public static RaiseMessage(string title, string message)
{
// Implementation.
}
}
public class MNyTestAgent: AgentBase
{
public MNyTestAgent()
{
AgentBase.RaiseMessage("hey", "hey");
}
}
public class Foo
{
public Foo()
{
AgentBase.RaiseMessage("hey", "hey");
}
}
答案 1 :(得分:-1)
这可能有帮助吗?
public class MNyTestAgent: AgentBase
{
RaiseMessage('hey', 'hey')
var a = new Foo(this);
}
public class Foo
{
public Foo()
{
}
public Foo(AgentBase base)
{
base.RaiseMessage('','') -<< how do i use it here
}
}