返回顶部
首页 > 资讯 > 精选 >C#中Scope属性如何使用
  • 488
分享到

C#中Scope属性如何使用

2023-06-17 22:06:42 488人浏览 薄情痞子
摘要

本篇文章为大家展示了C#中Scope属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Scope属性在C#中的应用的思路:我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型

本篇文章为大家展示了C#中Scope属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

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属性如何使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: C#中Scope属性如何使用

本文链接: https://lsjlt.com/news/293620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中Scope属性如何使用
    本篇文章为大家展示了C#中Scope属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Scope属性在C#中的应用的思路:我们给控件添加一个复杂的类型Scope,并且给它的类型提供的一个类型...
    99+
    2023-06-17
  • vue的slot-scope/scope属性如何用
    这篇文章主要介绍了vue的slot-scope/scope属性如何用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue的slot-scope/scope属性如何用文章都会有所收获,下面我们一起来看看吧。在vu...
    99+
    2023-07-04
  • Scope属性在C#和VC++中怎么使用
    本篇内容介绍了“Scope属性在C#和VC++中怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Scope属性在VC++的应用: in...
    99+
    2023-06-17
  • C#中的属性如何使用
    在C#中,属性是一种特殊的成员,用于封装类的字段并提供对其访问的方式。属性通常由get和set访问器组成,用于获取和设置属性的值。 ...
    99+
    2024-04-03
    C#
  • 如何使用Spring中的scope配置和@scope注解
    本文小编为大家详细介绍“如何使用Spring中的scope配置和@scope注解”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Spring中的scope配置和@scope注解”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-02
  • C#中如何使用属性和自动实现属性简化代码
    C#中如何使用属性和自动实现属性简化代码,需要具体代码示例在C#编程中,使用属性和自动实现属性可以帮助我们简化代码,提高代码的可读性和可维护性。属性允许我们通过封装字段来访问和更改对象的状态,而自动实现属性则进一步简化了属性的创建过程。属性...
    99+
    2023-10-22
    属性(属性) 自动实现属性(自动属性) 代码简化(简化代码)
  • C#中属性PropertyInfo的使用
    在C#中,PropertyInfo类用于访问和操作属性的信息。下面是PropertyInfo类常用的方法和属性的使用:1. Name...
    99+
    2023-09-12
    C#
  • Angular中scope作用域如何使用
    今天就跟大家聊聊有关Angular中scope作用域如何使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Scope(作用域) 是应用在 HTML ...
    99+
    2024-04-02
  • ES6中Object属性如何使用
    本篇文章为大家展示了ES6中Object属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我们之前定义对象属性的方法var obj =&...
    99+
    2024-04-02
  • CSS中clip属性如何使用
    这篇文章将为大家详细讲解有关 CSS中clip属性如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS clip 属性定义和用法clip 属性剪裁绝...
    99+
    2024-04-02
  • CSS中display属性如何使用
    这篇文章将为大家详细讲解有关CSS中display属性如何使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CSS display 属性定义和用法displ...
    99+
    2024-04-02
  • CSS中 top属性如何使用
    CSS中 top属性如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS top 属性定义和用法top 属性规定元素的顶部边缘。该属性...
    99+
    2024-04-02
  • DIV中Scroll属性如何使用
    DIV中Scroll属性如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。DIV Scroll属性DIV Scroll属性...
    99+
    2024-04-02
  • CSS中expression属性如何使用
    CSS中expression属性如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CSS expression属性作用1、给元素固有属...
    99+
    2024-04-02
  • CSS中如何使用clear属性
    CSS中如何使用clear属性,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。CSS clear属性定义和用法clear 属性规定元素的哪一侧不...
    99+
    2024-04-02
  • CSS中display:table属性如何使用
    本篇文章给大家分享的是有关CSS中display:table属性如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CSS display:...
    99+
    2024-04-02
  • CSS3中resize属性如何使用
    本篇文章为大家展示了CSS3中resize属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSS3新增了resize属性,该属性允许用户通过拖动的方式来修...
    99+
    2024-04-02
  • CSS中position属性如何使用
    本篇文章为大家展示了CSS中position属性如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如何正确的使用CSS:position属性它的作用是什么?Po...
    99+
    2024-04-02
  • CSS中padding 属性如何使用
    本篇文章给大家分享的是有关CSS中padding 属性如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CSS padding 属性定义和...
    99+
    2024-04-02
  • JavaScript中constructor属性如何使用
    这篇文章给大家介绍JavaScript中constructor属性如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。constructor属性始终指向创建当前对象的构造函数。比如下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作