我有三個類通過XMLserializer方法序列化爲XML數據。有沒有辦法讓所有人都可以訪問這個方法,而不是在我的代碼中有三個xmlserialize方法。使XMLSerialzier方法成爲公共類
//Here I'm writing to my class with the data that needs to be serialized
PERSON r = new PERSON();
Input l = new Search.Input();
INPUTSEARCHNBR ln = new INPUTSEARCHNBR();
ln.number = pnumber;
r.query = ln;
string xml = doSerialization(r);
//Call the xmlserializer method
private static string doSerialization(PERSON r)
{
string serializedValue = string.Empty;
try
{
XmlSerializer xmlSerializer = new XmlSerializer(r.GetType());
using (MemoryStream ms = new MemoryStream())
{
xmlSerializer.Serialize(ms, r);
ms.Position = 0;
var sr = new StreamReader(ms);
serializedValue = sr.ReadToEnd();
}
serializedVal = serializedValue.Replace("version=\"0\"", string.Empty).Replace("<?xml version=\"1.0\"?>", string.Empty).Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", string.Empty);
}
return serializedVal;
}
我的代碼重複該兩個用於兩個不同類的更多時間,將其寫入類,然後調用另一個方法XMLSERIALIZE因爲 該方法的輸入是不同類類型。 是否有方法使該方法公開或具有類或任何其他方式,以便我不必粘貼兩個完全相同但輸入類不同的附加012xx方法。