使用C语言在Java中重新创建嵌套的静态类
我正在将一段代码从Java移植到C Sharp。在Java中,我有以下类使用C语言在Java中重新创建嵌套的静态类,java,c#,static,Java,C#,Static,我正在将一段代码从Java移植到C Sharp。在Java中,我有以下类 public class ClassA{ ... private List<ClassA.ClassB> classBs = new ArrayList(); public classA(){ for(int i = 0; i < 10; i++){ this.classBs.add(new ClassA.ClassB());
public class ClassA{
...
private List<ClassA.ClassB> classBs = new ArrayList();
public classA(){
for(int i = 0; i < 10; i++){
this.classBs.add(new ClassA.ClassB());
}
}
public static class ClassB{
private int value;
public ClassB(){
this.value = 0;
}
}
}
公共类ClassA{
...
private List classBs=new ArrayList();
公共甲级(){
对于(int i=0;i<10;i++){
this.classBs.add(新的ClassA.ClassB());
}
}
公共静态类B{
私有int值;
公共类别B(){
该值=0;
}
}
}
需要注意的重要一点是
this.classBs.add(新的ClassA.ClassB())
我们正在创建一个静态内部类的实例
现在,在C sharp中,我无法重新创建相同的静态内部类。
经过研究,我发现我只能做以下一项
两者似乎都没有重现Java的确切代码。如何进行此操作?Java嵌套静态类与常规C#嵌套类非常相似:
public class ClassA
{
private IList<ClassB> classBs = new List<ClassB>();
public ClassA()
{
for (int i = 0; i < 10; i++)
{
this.classBs.Add(new ClassB());
}
}
public class ClassB
{
internal int value;
public ClassB()
{
this.value = 0;
}
}
}
公共类ClassA
{
私有IList classBs=新列表();
公共甲级()
{
对于(int i=0;i<10;i++)
{
this.classBs.Add(new ClassB());
}
}
公共B类
{
内部int值;
公共类别B()
{
该值=0;
}
}
}
“注意:静态嵌套类与其外部类(和其他类)的实例成员进行交互,就像任何其他顶级类一样。实际上,静态嵌套类在行为上是一个顶级类,为了便于打包而嵌套在另一个顶级类中。”——因此,我认为您只需看1的前半部分。或2。第二句话让我倾向于在外面创建一个类。也许我可以尝试使用不同的名称空间来组合这些类。谢谢@FildorIsn不是所有C#中的内部类都是静态的吗?初始化的静态类?这在Java中真的有效吗?我不知道初始化的静态类是什么意思。但是,是的,我根据我的项目中的工作编写了上面的代码