我试图将我的Java代码转换为C#,但是我错过了一些东西
谁能帮我吗。

Java代码

  public Map<String, MyDataClass> getData() {
        return data;
    }

    public void setDataCarriers(Map<String, MyDataClass> data) {
        this.data = data;
    }


通过如下工具转换

public virtual IDictionary<string, MyDataClass> Data
        {
            get
            {
                return data;
            }
            set
            {
                this.data = value;
            }
        }


但出现错误:

Using the generic type 'MyDataClass<T>' requires 1 type arguments


Java代码

public class MyDataClass<T> implements Serializable {

    private T demohere;

    public T get() {
        return demohere;
    }

    public void set(T demohere) {
        this.demohere= demohere;
    }
 }


转换为C#

 [Serializable]
    public class MyDataClass<T>
    {
        private T demohere;

        public virtual T demohere
        {
            get
            {
                return demohere;
            }
            set
            {
                this.demohere= value;
            }
        }
    }

最佳答案

您应将Data的类型更改为IDictionary<String, MyDataClass>,并从<T>删除类型参数MyDataClass

09-04 11:41