亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

來自不同命名空間中相同對象的重復代碼

來自不同命名空間中相同對象的重復代碼

C#
胡說叔叔 2021-08-07 17:34:16
我正在編寫一個控制臺應用程序,以便使用各自提供不同功能的ReportExecution2005和ReportService2010庫更輕松地管理本地 SSRS 實例。為了處理現有的報告,我必須從包含報告參數的 ReportServer 數據庫讀取 XML 字符串,解析它們,并使用這些信息來構建與服務器通信時使用的對象。為此,我編寫了一個簡單的函數,如下所示public static ParameterValue[] RebuildParameters(string parameters) {        //setup xml        XDocument main = XDocument.Parse(parameters);        List<XElement> pElements = main.Descendants("ParameterValue").ToList();        //rebuild param list        ParameterValue[] newParams = new ParameterValue[pElements.Count];        int i = 0;        foreach (XElement param in pElements) {            newParams[i] = new ParameterValue();            newParams[i].Name = param.Element("Name").Value.ToString();            newParams[i].Value = param.Element("Value").Value.ToString();            i++;        }        return newParams;}一切都很順利,直到我需要將這個輔助函數用于兩個單獨的命名空間。ParameterValue 類存在于兩個命名空間(Here和Here)中,但我無法在它們之間進行顯式轉換。我也試過設置一個通用函數,但由于類型未知,我無法分配名稱或值。public static T[] RebuildParameters<T>(string parameters) where T : new() {        //setup xml        XDocument main = XDocument.Parse(parameters);        List<XElement> pElements = main.Descendants("ParameterValue").ToList();        //rebuild param list        T[] newParams = new T[pElements.Count];        foreach (XElement param in pElements) {            newParams[i] = new T();            //not allowed            newParams[i].Name = param.Element("Name").Value.ToString();            newParams[i].Value = param.Element("Value").Value.ToString();        }        return newParams;    }編寫一個可以由來自不同命名空間的兩個類使用的單個幫助方法的最佳方法是什么,知道代碼將是相同的?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 210 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號