http://www.cnblogs.com/mzwhj/archive/2012/10/22/2720089.html
/// <summary> /// 查找指定值【继承类重写后才能正常使用】 /// </summary> public virtual TModel Find(int Id) { return default(TModel); } ~RepositoryBase() { if (dbContext != null) { dbContext.Dispose(); } }
這個「~RepositoryBase()」是什麼
為什麼要加這個「~」
是什麼意思??
析构函数,当一个对象被销毁的时候执行。
1、对象必须是通过new的方式构建的
2、必须显式的调用delete执行析构
显式的调用delete???
应该是dispose吧!
@Alex_QY1987:
对C++好久没接触了,那还是很多年前的事情了,我想C++的这个语法思想应该是不会变的。
RepositoryBase *repository = new RepositoryBase();
delete repository;
delete的对象一定要是new的,比如:
RepositoryBase repository;
RepositoryBase *p;
p = &repository;
delete p;//这个是不允许的。
至于dispose,这个貌似是.net里的,c++里是否有不确认。
另外:你对析构函数都不认识~~~?建议你多强化下C++基础。
@519740105: 楼主说的应该是C#。dbContext.Dispose();看这就知道了。