我有这样的功能:同身体功能适用于不同类型的输入的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