我基本上要注入的扩展方法的ArrayList的每个副本,这会执行以下行为:C#将扩展方法添加到类的实例?
ArrayList ourList = new ArrayList();
ourList.Add(randomarray or random arraylist);
它会增加给定的阵列中,数组列表的内容或堆到“ourList”,而不是数组,数组,列表或堆栈本身。
不过,我的问题是:
如何注入的扩展方法只进了实例化类? 以下代码将该方法添加到ArrayList基类和任何实例化副本,但是我希望它只在您访问类的实例副本时可用。
public static void Add(this ArrayList ourlist){
}
ArrayList.Add(); // Works, but shouldn't
ArrayList result = new ArrayList();
result.Add(); // Works
那么,我该如何管理呢?
什么是*实例副本*应该是什么? –
总之,你不能。类型的所有方法和类型的所有扩展方法都适用于该类型的所有实例。 –
我想你的意思是实例化? (!= NULL)? –