请先看这个网页http://referencesource.microsoft.com/#mscorlib/system/collections/hashtable.cs,22086bd66cee2e60
里面有很多私有类,问一下怎么用私有类?本人试过很多方法,都无法使用,也无法使用类成员,就拿这个类HashtableEnumerator来说 它是私有的 有什么用 这个私有类HashtableEnumerator里还有一些public虚方法 这个public是不是多余的 还有既然有虚方法 那一定可以重写 怎么重写这些public的虚方法?
里面有很多私有类,问一下怎么用私有类?本人试过很多方法,都无法使用,也无法使用类成员,就拿这个类HashtableEnumerator来说 它是私有的 有什么用 这个私有类HashtableEnumerator里还有一些public虚方法 这个public是不是多余的 还有既然有虚方法 那一定可以重写 怎么重写这些public的虚方法?
解决方案
40
public class Class1
{
public void test()
{
//Test t = new Test();
//var list = from o in t.T1List
// orderby (from p in o.T2List select p.Id)
// select o;
//var list = t.T1List.OrderBy(o => o.T2List.Select(p => p.Id)).ToList();
Test3 te3 = new Test3();
}
}
private class Test3
{
}
如上是可以编译通过的..可见..private实际应该是指在同一级别内可以公用.这里 类的上级是命名空间.所以私有类其实还是可以在同一命名空间内公用
20
全称应该叫 内部私有类,原因是私有类是不能放在类的外部的
一般用途就是为了方便处理内部的事情
最常见的就是各种枚举类
一般用途就是为了方便处理内部的事情
最常见的就是各种枚举类
public class Zoo : IEnumerable
{
//内部的私有类
struct ZooEnumerator : IEnumerator
{
public ZooEnumerator(Zoo zoo)
{
}
//其他接口不实现了
}
public IEnumerator GetEnumerator()
{
return new ZooEnumerator(this);
}
}