老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C#中Scope屬性如何使用

本篇文章為大家展示了C#中Scope屬性如何使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

我們提供的服務有:成都網站設計、網站制作、微信公眾號開發、網站優化、網站認證、南平ssl等。為上千余家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的南平網站制作公司

Scope屬性在C#中的應用的思路:

我們給控件添加一個復雜的類型Scope,并且給它的類型提供的一個類型轉換器,現在我們可以在屬性瀏覽器中編輯它的值,并且它的值也被串行化的源代碼里了。但是你有沒有發現,在屬性瀏覽器里編輯這個屬性的值還是不太方便。因為屬性只是“10,200”這種形式的,所以,你必須按照這種格式來修改,一旦格式錯誤就會引發異常,比如輸入一個“10200”。我們期望這個屬性的每一子屬性都能夠被獨立的編輯就好了,這并非不能實現,而且實現還很簡單。

為了在屬性瀏覽器里能夠獨立的編輯子屬性,我們還要重寫兩個方法:GetPropertiesSupported()和GetProperties();下面是ScopeConverter的完整代碼:

Scope屬性在C#中的應用實例代碼:

public class ScopeConverter : TypeConverter  {  public override bool CanConvertFrom(  ITypeDescriptorContext context, Type sourceType)  {  if (sourceType == typeof(String)) return true;   return base.CanConvertFrom(context, sourceType);  }   public override bool CanConvertTo(  ITypeDescriptorContext context, Type destinationType)  {  if (destinationType == typeof(String)) return true;   if (destinationType ==   typeof(InstanceDescriptor)) return true;   return base.CanConvertTo(context, destinationType);  }   public override object ConvertTo(  ITypeDescriptorContext context,   System.Globalization.CultureInfo culture,   object value, Type destinationType)  {  String result = "";  if (destinationType == typeof(String))  {  Scope scope = (Scope)value;  result = scope.Min.ToString()+"," + scope.Max.ToString();  return result;  ///Scope屬性在C#中的應用  }   if (destinationType == typeof(InstanceDescriptor))  {  ConstructorInfo ci = typeof(Scope).GetConstructor(  new Type[] {typeof(Int32),typeof(Int32) });  Scope scope = (Scope)value;  return new InstanceDescriptor(ci,   new object[] { scope.Min,scope.Max });  }  return base.ConvertTo(context,   culture, value, destinationType);  }   public override object ConvertFrom(  ITypeDescriptorContext context,   System.Globalization.CultureInfo culture, object value)  {  if (value is string)  {  String[] v = ((String)value).Split(',');  if (v.GetLength(0) != 2)  {  throw new ArgumentException("Invalid parameter format");  }   Scope csf = new Scope();  csf.Min = Convert.ToInt32(v[0]);  csf.Max = Convert.ToInt32(v[1]);  return csf;  }  return base.ConvertFrom(context, culture, value);  }   public override bool GetPropertiesSupported(  ITypeDescriptorContext context)  {  return true;  }  ///Scope屬性在C#中的應用  public override PropertyDescriptorCollection   GetProperties(ITypeDescriptorContext context,   object value, Attribute[] attributes)  {  return TypeDescriptor.GetProperties(  typeof(Scope), attributes);  }  }

在GetProperties方法里,我用TypeDescriptor獲得了Scope類的所有的屬性描述器并返回。如果你對TypeDescriptor還不熟悉的話,可以參考MSDN。重寫這兩個方法并編譯以后,在測試工程里查看控件的屬性,你可以看到Scope是如下的形式:

C#中Scope屬性如何使用

上述內容就是C#中Scope屬性如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。


網站名稱:C#中Scope屬性如何使用
文章路徑:http://www.xueling.net.cn/article/ipopdg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 玩弄少妇人妻中文字幕 | 国产精品视频网 | 亚洲成年在线 | 国产日本亚洲 | 呻吟翘臀后进爆白浆 | 人妻少妇偷人精品无码 | 久久国产自偷自偷免费一区调 | 中文亚洲AV片在线观看不卡 | 欧洲成在人线视频免费 | 欧美日韩激情 | 性视频网站入口 | 国产亚洲欧美日韩在线一区 | 91五月色国产在线观看 | 亚洲成在人线在线播放无码 | 综合激情在线 | 亚洲乱码日产精品bd | 亚洲欧美日韩中文视频 | 久久免费看少妇高潮a片特黄网站 | 欧美欧美在线 | 欧美熟妇一区二区三区蜜桃视频 | 操碰97| 久视频精品 | 亚洲VA中文字幕不卡无码 | 一区二区三区国产美女在线播放 | 久久久精品99久久精品36亚 | 天天干天天天 | 97成人资源 | 日本成人在线一区 | 日本成人在线免费观看 | 91中文字幕在线视频 | 久久国产精品久久喷水 | 爱福利视频导航 | 91免费在线看 | 国产精品三 | av在线播放网站 | 国产一级做a爰片在线看免费 | 少妇裸体淫交视频免观看 | 国产91九色 | 日本久久久久久久久久久 | 欧美日韩综合一区二区 | 天堂MV在线MV免费MV香蕉 |