扩展方法当然可用于将方法添加到您不属于的类。c#扩展方法 - 添加一个无效方法
但我想在Visual Studio中练习这个概念,但不确定所需的符号。
例如,我有下面的类
public static class Dog
{
public static void Bark()
{
Console.WriteLine("Woof!");
}
}
假设我并不拥有这个方法(这是我做的,但让我们假装我不知道)。我如何着手使用一种新方法(本质上是void)来扩展这个类,这个方法叫做Jump,其中所有的新方法都会在控制台上打印Dog跳转的内容。
我试图这样使用补充:
public static class SomeOtherClass
{
//extension method to the Dog class
public static Dog Jump(this Dog)
{
Console.WriteLine("Dog Jumped");
}
}
不过,我得到错误:
“狗:静态类型不能用作参数”
和
“Dog:静态类型不能用作退货类型“
你能帮我解决这个问题吗?
“我得到一个错误”从来没有说过有用的东西。是*具体* - 你收到什么错误? –
另外,你说过你想添加一个void方法 - 那么为什么在你尝试定义一个返回'Dog'的方法呢? –
我得到的错误是“狗:静态类型不能用作参数” –