2015-07-28 184 views
0

我試圖在C#中轉換我的Java代碼,但我錯過了一些東西 任何人都可以幫助我。在C#代碼轉換java代碼

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; 
      } 
     } 
    } 

回答

2

你應該改變的Data類型IDictionary<String, MyDataClass>MyDataClass

+0

刪除類型參數<T>其實我已經使用了相同的轉換代碼 – Neo

+1

@ neo的自刪除類型參數''' MyDataClass'定義。正如我所看到的,在您的Java代碼中,這個類不是通用的。 – 2015-07-28 09:24:16

+0

已更新的問題完整代碼 – Neo