我是一個Java人,並試圖在C#中實現一些代碼。我做了一個小時的研究,但找不到任何。 我有聲明爲通用的接口稱爲如何將通用對象分配給C中的非泛型引用#
interface TypeSerializer<T>
然後,我有兩種實現這一點。
class StringSerializer: TypeSerializer<String>
和
class ByteArraySerializer: TypeSerializer<byte[]>
現在我想創建這些實例的數組,並引用數組作爲TypeSerializer。這樣:
TypeSerializer[] serializers =
new TypeSerializer[2] {new ByteArraySerializer(), new StringSerializer()};
這段代碼沒有編譯,但是在Java中有類似的代碼沒有編譯。
我也試着做某事
TypeSerializer<Object>[] serializers =
new TypeSerializer<Object>[2] {new ByteArraySerializer(), new StringSerializer()};
還是沒有辦法。
我應該如何聲明這個數組並且在不知道泛型類型的情況下到達實例。
編輯
基於下面很清楚,我應該有兩個接口的答案;有和沒有通用。 這裏是接口方法。你能不能也展示如何實現它們。
public interface ITypeSerializer<T>:TypeSerializer
{
void write(BinaryWriter writer, T obj);
T read(BinaryReader reader);
}
歡迎C#;-) – Steven 2011-05-13 13:08:15
@Steven感謝的更美好的世界,遇到了一些麻煩,找出在這個美好的世界我的方式:) – 2011-05-13 13:43:43