想法是使用扩展方法来扩展我的功能。如何编写使用基类的扩展方法
所以不是有这样的事情:
return Add(Add(storage.GetFirst(), 3), 7);
我想有这样的事情:
return storage.GetFirst().Add(3).Add(7);
问题的扩展方法是,他们必须在静态类静态的。 这是我想要做的简化例子。
public class Storage
{
public int GetFirst()
{
return 100;
}
public int GetAll(int x, int y)
{
// ...
return x + y;
}
}
public abstract class MyBase
{
protected Storage storage;
protected MyBase()
{
storage = new Storage();
}
public int Add(int what, int howMuch)
{
return storage.GetAll(what, howMuch);
}
}
public class MyClass : MyBase
{
public int method1()
{
return Add(Add(storage.GetFirst(), 3), 7);
//I want have something like this:
// return storage.GetFirst().Add(3).Add(7);
}
}
当然,存储类别,MyBase和MyClass的不能是静态的。逻辑简化有一个干净而简单的例子,所以类之间的关系必须保持一致。 我想要做的是使Add方法成为扩展方法,但是让所有其他方面“更少一样”。
这可能吗?
学习流利的代码模式。你的方法必须返回相关类的实例。 –
@FarhadJabiyev - “相关类”是什么意思? – Enigmativity