我試圖XmlNodeReader對象返回到另一個函數,但得到CA2000警告回到一次性對象和獲取CA2000警告
XmlNodeReader obj =new XmlNodeReader(section);
return ser.method(obj);
如果我使用下面的代碼,將它正常工作?警告被抑制,但不確定它是否會影響邏輯。
XmlNodeReader tempObj =new XmlNodeReader(section);
XmlNodeReader retObj=null;
retObj = tempObj;
tempObj.Dispose();
return ser.method(retObj);
嗯,我們不知道是什麼'ser.method'做,但不得傳遞處理方法似乎對我來說是個壞主意。 –
CA2000有時會給你誤報,但是*通常是*表示某些看起來很奇怪的東西,所以它並不全是壞的。您需要確定構造對象的代碼的區域是否也擁有它,或者您是否將所有權交給了接收該對象的所有者。一旦你決定你可以研究如何擺脫警告。 –
請注意,在某些情況下,如果您創建的是「工廠方法」,則可以通過簡單地命名該方法來擺脫警告,請嘗試「Get」與「Create」作爲方法名稱的前綴,請參閱如果有任何幫助。 –