2009-01-28 49 views

回答

1

編號

FileStream是一個具體的實現。

但這是一個私人方法,所以應該很容易改變,因爲你可以找到所有的內部使用?建議用Stream而不是FileStream替換方法簽名。

那麼......除非你創建一個臨時文件,寫入它然後將其讀入內存。

+0

這只是一個例子。那個是私人的,其他的是公開的。其中有很多。致歉; – Andre 2009-01-28 10:44:22

1

由於你不能改變函數簽名來接受更通用的類型..我建議寫出一個臨時文件,然後將內容讀入一個MemoryStream實例。

+0

道歉;我毆打你的臨時文件解決方案。我們必須在同一時間點擊'提交':) – 2009-01-28 10:44:25

0

如果您沒有訪問它們,你可以使用反射來看看他們是如何工作的,並實現自己的版本,一個MemoryStream。這是否合法是另一回事......

+0

「這是否合法」 - 我確信沒有人會逮捕他:) – configurator 2009-01-28 10:54:26

0

否.FileStream不公開可以調用的構造函數,所以您不能從它繼承來模擬它。

0

建議;

重命名這樣

private int WriteLogikParameterTyp_Ex(Stream stream); 

該方法然後重新創建原始簽名等;

private int WriteLogikParameterTyp(FileStream filestream) 
{ 
    return WriteLogikParameterTyp_Ex(filestream); 
} 
+1

爲什麼不簡單地更改方法簽名?它不會破壞現有的使用代碼,因爲FileStream是從流派生的... – configurator 2009-01-28 10:56:57