【发布时间】:2015-05-04 22:48:00
【问题描述】:
我有以下代码:
public ClassC
{
public class ClassA extends ClassB<T>
{
/**
* @uml.property name="index"
*/
private int index;
public ClassA()
{
super(ClassC.this);
index = 0;
}
}
我发现,内部类需要ClassName.this 才能到达this 的外部类实例,但这对我没有多大帮助。我知道我的问题是缺乏知识,但一些简短的解释会节省我一些时间。这在 c# 中应该如何看?我重命名了类只是为了使它成为一个更普遍的问题。
【问题讨论】:
-
在 c# 中,大约 99.5% 的时间你都不应该需要任何类型的嵌套类。
-
@RobertHarvey 0.05% 听起来有点高 :)
-
@RobertHarvey true 对于 public 类,嵌套的私有类非常有用。
-
@alex:我的百分比仍然适用。请注意在我的原始评论中使用了“任何类型的”一词。如果你有一个有效的例子,我会全力以赴,但通常嵌套类表明你的类做得太多了。
-
改用组合,把所有需要的类写在同一个命名空间中,而不是嵌套。
标签: java c# super nested-class