.Net类助手方法

Rob*_*Rob 1 .net oop inheritance extension-methods

有没有办法将类添加到类中,但允许它仍然由基类继承?

我有以下内容

public class ListWithRandomize<T> : List<T> {
   public void Randomize() { // Randomize function}

}
Run Code Online (Sandbox Code Playgroud)

我将要有一堆需要随机化的List对象.是否可以将List对象设置为ListFithRandomize对象?我想我可以将randomize函数设置为static并让它以List <>作为参数,但我希望将它作为类的方法...如果可能的话.

谢谢.

Ran*_*pho 7

一个扩展方法是你可以添加一个方法,一个类时,你没有访问源的唯一途径.

请记住,扩展方法不是类型的实际成员 - 它只是在源代码中看起来像.它不能访问私有或内部变量 - 至少,不是没有反射,但你可能不想这样做.

我想我可以将randomize函数设置为static并让它以List <>作为参数,但我希望将它作为类的方法...如果可能的话.

在这种情况下,扩展方法可能是你最好的选择.