欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C#中Scope屬性如何使用

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

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

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

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

為了在屬性瀏覽器里能夠獨立的編輯子屬性,我們還要重寫兩個方法: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屬性如何使用

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

本文標題:C#中Scope屬性如何使用
文章地址:http://aaarwkj.com/article16/ipopdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、企業(yè)網(wǎng)站制作、定制開發(fā)Google、小程序開發(fā)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
日韩人妻一级免费视频| 亚洲人色中文字幕天堂| 中文字幕国产精品欧美| 国产精品久久久久精品三级中文国| 四虎永久播放地址免费| 精品国产一区二区av麻豆| 欧美日韩中文字幕精品| 一本色桃子精品久久中文字幕| 亚州欧美精品一区二区| 国产日韩欧美亚洲中文国| 日本成人一区二区三区视频| 欧美大尺度影片在线观看| 背德人妻中文字幕无修| 新午夜福利片在线观看| 亚洲天堂成人综合在线| 久久精品国产亚洲av麻豆她| 看夫妻性生活免费视频| 亚洲精品成人午夜av| 亚洲国产成人午夜精品| 朝桐光日韩一区二区三区| 日本精品一区二区不卡| 国产乡下三级_三级全黄| 久久久亚洲熟妇熟女一区二区| 亚洲成人av在线播放观看| 人妖一区二区三区在线观看| 未满十八禁止免费在线观看| 国产自产一区二区三区精品| 欧美日韩亚洲综合在线| 亚洲一区二区视频精品| 日韩精品欧美成人高清一区二区 | 久热视频这里只有精品99| 日韩精品中文字幕国产精品| 杨幂一区二区在线观看| 情五月激情亚洲丁香佳色| 一级黄片一区二区三区| 日韩精品一区二区三区高清| 亚洲桃色一区二区三区四区| 亚洲久久精品一区二区| 最新天堂av资源在线观看| 黄色录像黄色片黄色片| 亚洲中文字幕精品一区二区三区|