我有这样的功能:
void myFunc(String path)
{
SpecialObject special1 = new SpecialObject(path);
}
现在,我的特殊对象有几个他的构造函数重载,例如它也可以将流作为输入。如何避免需要其他功能,例如:
void myFunc(Stream stream)
{
SpecialObject special1 = new SpecialObject(stream);
}
编辑:所以事情就是这样,我正在做一个文件处理例程,只有 function1 实际上使用 Stream 对象,我想在 mainFunction 的持续时间内锁定文件,所以我认为如果打开一个文件并保持它打开将做这项工作,因为我想干扰这个文件:
mainFunction(string inputFile)
{
Stream stream = new FileStream(inputFile,FileMode.Open);
Function1();
Function2();
Function3();
Function4();
stream.Close();
}
现在 Function1() 是这样的:
Function1()
{
PDFProcessor processor = new PDFProcessor();
processor.addDataSrc(new PDFDataSource(STRING OR STREAM));
processor.Work();
}
我可以只使用 Stream 类型.. 但最初我使用的是 string 类型.. 现在我想保留两者。