C#相当于在Java

时间:2016-05-11 18:29:43

标签: java c# super

我有这段Java代码,我想在C#中实现,但我有两个主要问题:

  1. 我之前从未见过这种Java语法。我不确定它是什么 实际上在做。是构造函数super中的第一个参数 实现接口ObjectFactory以检索新的Object 类型Edge,我想!
  2. 我对C#很陌生,所以我不确定如何做到这一点。
  3. 这是 Java 代码:

    static class Edges extends UpdatableRepository<Edge> {
        Edges(final DataInputStream dis, final DataOutputStream dos, StringListQ idListQuery) {
            super(new ObjectFactory<Edge>() {
                public Edge newObject(String objectID) {
                    return new Edge(dis, dos, objectID);
                }
            }, idListQuery);
        }
    }
    interface ObjectFactory<V> {
        V newObject(String objectID);
    }
    
    编辑:我已经知道如何在C#中实现这一点,但我已经意识到这是不可能的:

    static class Edges : UpdatableRepository<Edge>, ObjectFactory<Edge> {
    
        public override Edge newObject(String objectID) {
            return new Edge(dis, dos, objectID);
        }
        public Edges(BinaryReader dis, BinaryWriter dos, StringListQ idListQuery) {
            base(this.newObject(String objectID, idListQuery);
        }
    }
    

    有什么建议吗?

    新编辑:

    我一直收到有关此主题与C# vs JAVA instance of Interface重复的建议,并且没有人回答这个问题。但是,我仍然不知道如何继续,即使在阅读了该线程和其答案中指出的文档之后。出于这个原因,我想再次寻求帮助。

0 个答案:

没有答案