亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

用XML將機器內碼轉換為人們容易理解的信息

2024-09-05 20:55:28
字體:
來源:轉載
供稿:網友

  程序中通常會有一些錯誤代碼或標識,為了程序中方便這些東西通常不會使用漢字,經常在程序中用的是一些FileError或數字。還有就是在編碼中經常使用的枚舉標識對象的狀態。而通常這些信息會直接的或間接的現實給用戶,可用戶需要到的是容易理解的漢字描述。以前要么將這些標識和枚舉的轉換規則硬編碼到程序中,要么就直接提示給用戶。前者沒有很好的擴展性,而后者則讓用戶一頭霧水?,F可以用流行的XML(配置文件)保存提示信息,然后用一個對象將機器中的內碼轉換為人們容易理解的信息。
  轉換對象如下:
  /**////
  ///翻譯類,將內部碼翻譯成容易理解的中文
  ///
  ///
  ///根據配置文件中的信息,將系統內部碼(錯誤碼、成功碼)翻譯成中文(或人容易理解的語言)。
  ///
  publicstaticclassTranslation
  ...{
  privatestaticSystem.IO.FileSystemWatcherwatcher;
  privatestaticXmlDocumentcontent;
  privatestaticstringconfigFile;
  privatestaticobjectlocker=newobject();
  
  /**////
  ///加載配置文件
  ///
  ///
  publicstaticvoidConfigure(stringconfigFile)
  ...{
  LoadFile(configFile);
  if(watcher!=null)
  ...{
  watcher.Dispose();
  }
  watcher=newFileSystemWatcher(Path.GetDirectoryName(configFile),Path.GetFileName(configFile));
  watcher.Changed =newFileSystemEventHandler(watcher_Changed);
  }
  
  /**////
  ///加載默認配置文件
  ///
  publicstaticvoidConfigure()
  ...{
  if(System.Web.HttpContext.Current!=null)
  ...{
  Configure(System.Web.HttpContext.Current.Server.MapPath("~/translation.config"));
  }
  else
  ...{
  Configure(System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase "/" "translation.config");
  }
  }
  
  /**////
  ///加載文件內容
  ///
  ///
  privatestaticvoidLoadFile(stringconfigFile)
  ...{
  lock(locker)
  ...{
  XmlDocumentdoc=newXmlDocument();
  doc.Load(configFile);
  
  content=doc;
  Translation.configFile=configFile;
  }
  }
  
  /**////
  ///當文件變更時,從新加載文件
  ///
  ///
  ///
  privatestaticvoidwatcher_Changed(objectsender,FileSystemEventArgse)
  ...{
  LoadFile(configFile);
  }
  
  /**////
  ///獲取Enum的解釋,如果Enum有Flag標記,則使用逗號分隔各個解釋
  ///
  ///
  ///
  publicstaticstringGetEnumDescription(EnumenumValue)
  ...{
  returnGetEnumDescription(enumValue,",");
  }
  
  /**////
  ///獲取Enum的解釋,如果Enum有Flag標記,則使用sparator分隔各個解釋
  ///
  ///
  ///
  ///
  publicstaticstringGetEnumDescription(EnumenumValue,stringsparator)
  ...{
  Typetype=enumValue.GetType();
  
  //檢查類型是否有Flags特性
  object[]attrs=type.GetCustomAttributes(typeof(FlagsAttribute),false);
  if(attrs.Length>0)
  ...{
  StringBuilderbuilder=newStringBuilder();
  Arrayarr=Enum.GetValues(type);
  foreach(Enumenuinarr)//循環獲取每一個值的解釋
  ...{
  if((Convert.ToUInt64(enumValue)&Convert.ToUInt64(enu))==Convert.ToUInt64(enu))//判斷是否有這個值
  ...{
  builder.Append(GetEnumDes(type,enu.ToString()));
  builder.Append(sparator);
  }
  }
  if(builder.Length!=0)//拿掉最后的分隔符
  builder.Remove(builder.Length-sparator.Length,sparator.Length);
  returnbuilder.ToString();
  }
  else
  ...{
  returnGetEnumDes(type,enumValue.ToString());
  }
  }
  
  /**////
  ///獲取某一Enum類型值的解釋
  ///
  ///
  ///
  ///
  privatestaticstringGetEnumDes(Typetype,stringvalue)
  ...{
  stringxquery="/translation/enum/" type.FullName "/" value;
  XmlNodenode=content.SelectSingleNode(xquery);
  if(node!=null)
  returnnode.InnerText;
  else
  returnvalue;
  }
  
  /**////
  ///翻譯指定值
  ///
  ///
  ///
  publicstaticstringGetValueDescription(objectobj)
  ...{
  returnGetValueDescription("default",obj);
  }
  
  /**////
  ///在指定組中翻譯指定值
  ///
  ///
  ///
  ///
  publicstaticstringGetValueDescription(stringgroup,objectobj)
  ...{
  if(obj==null)
  return"null";
  
  stringxquery="/translation/description[@group='" group "']/add[@key='" obj.ToString() "']/@value";
  XmlNodenode=content.SelectSingleNode(xquery);
  if(node==null)
  returnobj.ToString();
  else
  returnnode.Value;
  }
  }
上一頁12 下一頁 閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级大胆视频| 影音先锋欧美在线资源| 欧美精品在线免费播放| 欧美激情免费看| 久久乐国产精品| 日韩美女主播视频| 精品久久久av| 91麻豆国产语对白在线观看| 中文字幕欧美精品日韩中文字幕| 国产成人综合精品在线| 日韩欧美中文字幕在线观看| 在线播放日韩专区| 亚洲最大的av网站| 亚洲桃花岛网站| 国产精品偷伦视频免费观看国产| 欧美日韩中文在线| 国产精品r级在线| 亚洲精品久久久久| 国产999精品视频| 久久久久国产一区二区三区| 欧美美女18p| 97在线精品国自产拍中文| 国产精品入口夜色视频大尺度| 在线视频一区二区| 精品国产一区二区三区久久| 在线精品视频视频中文字幕| 日韩欧美在线中文字幕| 亚洲人免费视频| 在线亚洲男人天堂| 欧美激情aaaa| 日韩精品亚洲元码| 亚洲精品av在线| 久热精品视频在线观看一区| 欧美高清在线播放| 国产一区欧美二区三区| 亚洲欧美另类自拍| 精品亚洲永久免费精品| 欧美性极品xxxx做受| 色综合伊人色综合网| 久久成人这里只有精品| 在线成人中文字幕| 欧美高清视频在线| 欧美网站在线观看| 51ⅴ精品国产91久久久久久| 亚洲午夜色婷婷在线| 国产精品99蜜臀久久不卡二区| 日韩精品福利网站| 欧美性在线视频| 欧美激情视频网| 亚洲精美色品网站| 成人在线激情视频| 亚洲人成绝费网站色www| 欧美专区在线视频| 国产精品自产拍高潮在线观看| 91禁外国网站| 国产精品丝袜久久久久久不卡| 奇米成人av国产一区二区三区| 欧美天堂在线观看| 激情久久av一区av二区av三区| 欧美日韩国产黄| 欧美专区在线视频| 亚洲免费电影在线观看| 成人精品久久久| 国产精品91视频| 国产精品久久久久久久久久东京| 亚洲国产精品国自产拍av秋霞| 久久久久久这里只有精品| 在线观看久久久久久| 日韩欧美在线第一页| 色妞色视频一区二区三区四区| 久久精品视频免费播放| 91精品视频在线看| 91人成网站www| 精品国产成人av| 久久视频这里只有精品| 欧美成人精品不卡视频在线观看| 亚洲欧洲国产精品| 黑人精品xxx一区| 欧美另类老女人| 国产精品嫩草影院一区二区| 国产综合在线观看视频| 中文字幕一区日韩电影| 中文.日本.精品| 7m第一福利500精品视频| 亚洲免费视频网站| 日韩久久精品成人| 亚洲伊人第一页| 欧美大尺度电影在线观看| 亚洲精品中文字幕女同| 日韩av在线不卡| 这里只有视频精品| 亚洲男子天堂网| 国产激情综合五月久久| 国产精品高潮视频| 亚洲第一视频网| 91网站免费观看| 精品人伦一区二区三区蜜桃网站| 91国内揄拍国内精品对白| 精品国产拍在线观看| 欧洲亚洲免费在线| 欧美激情视频播放| 久久久久国产精品免费| 91中文字幕一区| 另类天堂视频在线观看| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美激情另类校园| 伊人久久男人天堂| 国产有码在线一区二区视频| 亚洲视频综合网| 91青草视频久久| 亚洲成人久久一区| 久久影视三级福利片| 伊人久久男人天堂| 国产精品爽爽爽爽爽爽在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 自拍偷拍亚洲欧美| 久久久久国色av免费观看性色| 国产精品一区二区3区| 精品久久久久久国产| 成人精品在线观看| 欧美大学生性色视频| 国产日韩欧美一二三区| 国产精品亚洲视频在线观看| 久久精品电影网| 国产精品网站视频| 久久久久久久久91| 国产欧美亚洲精品| 亚洲免费福利视频| 欧美另类99xxxxx| 日韩免费在线免费观看| 国产精品偷伦一区二区| 久久好看免费视频| 国模精品一区二区三区色天香| 亚洲国产97在线精品一区| 成人写真视频福利网| 久久久久久久亚洲精品| 欧美黑人国产人伦爽爽爽| 日韩高清av一区二区三区| 97在线观看免费高清| 欧美激情精品久久久久久蜜臀| 久久久影视精品| 欧美日韩综合视频| 国产精品视频白浆免费视频| 成人中文字幕在线观看| 久久亚洲成人精品| 色樱桃影院亚洲精品影院| 色999日韩欧美国产| 欧美性xxxx极品hd欧美风情| 伊人伊人伊人久久| 国产日产亚洲精品| 欧洲亚洲妇女av| 亚洲成人网久久久| 国产精品视频一区二区高潮| 日韩亚洲在线观看| 中国china体内裑精亚洲片| 精品视频偷偷看在线观看| 欧美性xxxx极品hd满灌| 最近2019中文字幕mv免费看| 成人免费高清完整版在线观看| 91网站在线免费观看| 主播福利视频一区| 成人做爰www免费看视频网站| 97视频在线观看亚洲| 欧美巨乳在线观看|