0
我有我要重寫的方法:C#泛型類和重寫的方法
public override bool CanConvert(Type objectType)
(注:我不能修改超類。)無論如何,在此重寫的方法我想做的事:
return typeof(MyClass<T, I>).IsAssignableFrom(objectType);
MyClass是抽象的。我自己寫的。
智能感知強調了通用部分。所以我必須使該方法具有通用性。但是,方法簽名與覆蓋不兼容。
我該怎麼辦?
編輯:
MyClass的:
MyClass<T,I> where T : MyClass<T,I>
編輯2:
包含類方法:
public class ReferencesJsonConverter : JsonConverter
我是否需要添加
<T,I>
to ReferencesJsonConverter?這是不幸的,因爲類這樣使用:
[JsonConverter(typeof(ReferencesJsonConverter))]
public virtual WhateverClass whateverclass {get;set;}
T是WhateverClass ...
我也有這個方法需要重寫
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
我想做的事:
var e = value as MyClass<T, I>;
在那裏。所以我想我真的需要添加
<T,I>
給班級本身?
我認爲它應該幫助你 [鏈接1] [1] [鏈接2] [2] [1]:http://stackoverflow.com/questions/1349227/c-sharp -abstract-generic-method [2]:http://stackoverflow.com/questions/9197384/overriding-abstract-generic-method-from-non-generic-class –
看起來像'MyClass'不是類型包含'CanConvert',因爲你提到了一個超類。你能否顯示包含你的'CanConvert'的覆蓋的類的聲明?具體來說,該類是否具有(至少)兩個類型參數,稱爲'T'和'I'? –
stakx
Plz請參閱鏈接 –