2011-10-06 30 views
0
public int UpdateTable() 
{ 

string SpName="UPDATE_TABLE_S1"; 
. 
. 
.//statement 30 

return recordsaffected = 1; 
} 

public int InsertTable() 
{ 

string SpName="Insert_TABLE_S1"; 
. 
. 
. 
return recordsaffected = 1; 
} 

public int DeleteTable() 
{ 

string SpName="DELETE_TABLE_S1"; 
. 
. 
return recordsaffected = 1; 
} 

有類有大約20個方法,我需要複製一個方法通過搜索SpName ='INSERT_TABLE_S1'到文本文件。需要複製一個方法到File.txt

我用流讀取器來搜索SP名稱。但是複製整個方法就是我受到攻擊的地方。有沒有建立方法來複制整個方法。

我試圖通過編寫時,公衆關鍵字開始並直到返回來的文件。但是這似乎並不正確......

+0

沒有 - 沒有在框架沒有這樣的方法......直到'return'而不是複製來使用開幕特別指定'{'和關閉'}'。因爲一個方法可能有幾個'return'語句 – Yahia

+0

感謝我讓我檢查{n請參閱 – Ahamed

+0

要注意'{}'可以嵌套(儘管總是成對),所以您需要跟蹤嵌套級別以使其正常工作 – Yahia

回答

0

我傾向於開始存儲在字符串生成一行方法一次直到方法結束或者找到您正在查找的字符串。如果發現完成讀取方法並寫入您的外部文件。甚至可能將所有方法存儲在字符串構建器列表中,以便我可以在最後搜索它們。

我可能會提取一個接口,我會用它給我一個所有方法簽名的列表,我可以用它來開始讀取每種方法。

+0

確定沒有使用字符串生成器。將與它一起檢查 – Ahamed

0

您可以根據公共關鍵字分開,然後搜索方法名稱:

 string spName = "DELETE_TABLE_S1"; 
     string methodText = ""; 
     string[] methods = theCompleteStringWithAllMethods.Split(new string[] { "public"  }, StringSplitOptions.None); 
     for (int ii = 0; ii < methods.Length; ii++) 
     { 
      if (methods[ii].Contains("SpName=" + spName)) 
      { 
       methodText = "public " + methods[ii]; 
       break; 
      } 
     } 
相關問題