我有這樣的功能:同身體功能適用於不同類型的輸入的C#
void myFunc(String path)
{
SpecialObject special1 = new SpecialObject(path);
}
現在,我的特殊對象有他構造的幾個重載,例如像它也可以採取流作爲輸入。 如何避免像其他功能的需求:
void myFunc(Stream stream)
{
SpecialObject special1 = new SpecialObject(stream);
}
編輯: 因此,這裏的事情,我做一個文件處理程序,不僅功能1實際使用Stream對象,我想在鎖定文件該mainFunction的時間,所以我認爲,如果打開一個文件的保持開放將做的工作,因爲我想和這個文件的干擾:
mainFunction(string inputFile)
{
Stream stream = new FileStream(inputFile,FileMode.Open);
Function1();
Function2();
Function3();
Function4();
stream.Close();
}
現在功能1()是這樣的:
Function1()
{
PDFProcessor processor = new PDFProcessor();
processor.addDataSrc(new PDFDataSource(STRING OR STREAM));
processor.Work();
}
我可以只使用流類型..但最初我使用的字符串類型..現在我想保持兩個。
這只是*糟糕*的做法。 – Servy