我想編譯一個包含這個方法的項目;投射到原始類型並使用參數?
public void Send<T>(object o) where T : struct {
BinaryWriter bw = new BinaryWriter(stream);
bw.Write((T)o);
}
我從這種方法(工作)的啓發;
public static T Cast<T>(object o) {
return (T)o;
}
BinaryWriter.Write函數支持參數的基本類型,所以我想我可以像這樣使用它。但是,Visual Studio中說:「爲‘System.IO.BinaryWriter.Write(布爾)’的最佳重載的方法匹配具有一些無效參數」
我試圖避免編寫包含每一個原始類型長switch語句併爲選擇類型的方法添加一個參數。這是醜陋的,看起來不正確。
這是簡單和優雅:
- 發送< int>的(123);
- 發送< bool>(true);
但爲什麼它不工作?什麼是正確的做法呢?
你想用什麼來實現,你是否熟悉[序列化概念](http://msdn.microsoft.com/en-us/library/4abbf6k0(v = vs.71).aspx),也許這是你可以嘗試的另一種方法。 – danielQ 2012-07-06 21:04:29