第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

C#中常見的模式識別

C#中常見的模式識別

C#
拉風的咖菲貓 2021-06-19 19:08:56
我有兩節(jié)課public class ClassA{ public int ID { get; set; } public string Countries {get;set;} public string City { get;set; }}和public class ClassB{ public int ID { get; set; } public string Countries {get;set;} public string Village{ get;set; }}這兩個班級在另一個班級public class ComponentClass{   public List<ClassA> classAObj { get; set; }   public List<ClassB> classBObj { get; set; }}ComponentClass的數(shù)據(jù)來自第三方,其中ClassA和ClassB的數(shù)據(jù)結(jié)構(gòu)相似。ClassA 中的“City”將具有逗號分隔值“Manchester,Sydney”等的數(shù)據(jù),與 Village 以及逗號分隔值類似。現(xiàn)在我正在業(yè)務(wù)層構(gòu)建一個自定義對象,我在其中迭代 ComponentClass 的每個屬性并提取信息。Main(){  ComponentClass[] c = //Data from 3rd party;  foreach(var data in c)  {    Parent p = new Parent();    if(data.classAObj.count > 0)    {      Star s = new Star();      s.Area = "infinite";      s.Color = "red";      List<string> sep = data.City.Split(',').Select(string.Parse).ToList();          foreach(var b in sep)      {       TinyStar t = new TinyStar();       t.smallD = b;       s.Values.Add(t);       }      p.Curves.Add(s);     }    if(data.classBObj.count > 0)    {      Star s2 = new Star();      s2.Area = "infinite";      s2.Color = "red";      List<string> sep = data.Village.Split(',').Select(string.Parse).ToList();          foreach(var b in sep)      {       TinyStar t = new TinyStar();       t.smallD = b;       s2.Values.Add(t);       }      p.Curves.Add(s);     }   }}在上面的代碼中,除了屬性名稱“City”和“Village”之外,兩個 if 語句執(zhí)行完全相同的操作。我想通過使用任何設(shè)計模式,可能是我在理論上知道的策略模式或任何其他模式來簡化這一點。這是我嘗試過的:public abstract class Base{  public int ID { get; set; }  public string Countries {get;set;}}public class ClassA : Base{ public string City { get;set; }}public class ClassB : Base{ public string Village{ get;set; }}    我想把它作為一個通用的工廠方法,它將為我做循環(huán)并為我構(gòu)建對象以避免代碼重復public void CommonMethod(Base){  // How do I differentiate the properties for looping }
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 181 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號