我正在用C#编写一个需要重复访问1个图像文件的程序.大部分时间它都可以工作,但如果我的计算机运行速度很快,它会在将文件保存回文件系统之前尝试访问该文件并抛出错误:"另一个进程正在使用的文件".
我想找到解决这个问题的方法,但是我所有的谷歌搜索都只是通过使用异常处理来创建检查.这违背了我的宗教信仰,所以我想知道是否有人有更好的方法呢?
我正在尝试创建一个泛型类,它将具有一些基于类型的静态函数.每种类型都有静态成员吗?或者只有在使用通用的地方?我问的原因是我想为每种类型设置一个锁对象,而不是它们之间共享的锁对象.
所以,如果我有
class MyClass<T> where T:class
{
static object LockObj = new object();
static List<T> ObjList = new List<T>();
}
Run Code Online (Sandbox Code Playgroud)
我知道ObjList肯定会为每个使用的泛型类型创建一个不同的对象,但LockObj在每个泛型实例化(MyClass<RefTypeA>和MyClass<RefTypeB>)之间是否会有所不同?