no9*_*no9 7 c# inheritance word-wrap
我想为System.Io制作util类(例如File,Directory等).
由于无法对静态类进行继承,我想知道如何将一个正确的方法包装成System.Io.File.
Jon*_*eet 15
我会创建三种类型:
包含您希望能够测试的所有方法的界面,例如
public interface IFileSystem
{
Stream OpenWrite(string filename);
TextReader OpenText(string filename);
// etc
}
Run Code Online (Sandbox Code Playgroud)委托给系统实现的实现:
public class FrameworkFileSystem : IFileSystem
{
public Stream OpenWrite(string filename)
{
return File.OpenWrite(filename);
}
// etc
}
Run Code Online (Sandbox Code Playgroud)一个虚假的测试实现:
public class FakeFileSystem : IFileSystem
{
// Probably all kinds of things to allow in-memory files
// to be created etc
}
Run Code Online (Sandbox Code Playgroud)你可能不希望把一切都从File那里虽然-因为许多操作都可以从"芯"的人组成.当然,这意味着你自己重新实现这些操作,这可能是不可取的......
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |