日期:2014-05-18  浏览次数:20414 次

释放资源的问题
public   class   MsgPackage
{
private   string   _CompanyID;
private   string   _UserID;
private   MessType   _MsgType;
private   string   _MsgInfo;
private   string   _FromUser;
private   string   _RevUser;
private   DateTime   _T_Time;
//
///   <summary>
///   公司ID
///   </summary>
public   string   CompanyID
{
set{_CompanyID=value;}
get{return   _CompanyID;}
}
///   <summary>
///   用户ID
///   </summary>
public   string   UserID
{
set{_UserID=value;}
get{return   _UserID;}
}
///   <summary>
///   消息类型
///   </summary>
public   MessType   MsgType
{
set{_MsgType=value;}
get{return   _MsgType;}
}
///   <summary>
///   消息内容
///   </summary>
public   string   MsgInfo
{
set{_MsgInfo=value;}
get{return   _MsgInfo;}
}
///   <summary>
///   发送人
///   </summary>
public   string   FromUser
{
set{_FromUser=value;}
get{return   _FromUser;}
}
///   <summary>
///   接收人
///   </summary>
public   string   RevUser
{
set{_RevUser=value;}
get{return   _RevUser;}
}
///   <summary>
///   发送时间
///   </summary>
public   DateTime   T_Time
{
set{_T_Time=value;}
get{return   _T_Time;}
}
}

我想用using来new创建,请问怎么样实现,我用System.IDisposable会提示错误

------解决方案--------------------
如果要实现IDisposable接口,必须写Dispose方法
------解决方案--------------------
我只要定义一个数据包,然后发到另一个class里进行处理,处理完了就释放掉,是一定要这样定义吧
-------------------------------------------
Finalize 方法在未能调用 Dispose 方法的情况下充当防护措施来清理资源。您应该只实现 Finalize 方法来清理非托管资源。您不应该对托管对象实现 Finalize 方法,因为垃圾回收器会自动清理托管资源。默认情况下,Object.Finalize 方法不进行任何操作。如果要让垃圾回收器在回收对象的内存之前对对象执行清理操作,您必须在类中重写此方法。

我在msdn上查到这些 还有dispose方法,你查查,应该有帮助的
------解决方案--------------------
你这个类的成员都是些简单数据类型根本不需要写Dispose方法释放...GC自己会处理的...

别以为用using很酷...不要走火入魔...