获取DefaultValueAttribute值

<p>如何获取DefaultValueAttribute属性的默认值,下面提供一个Demo来说明实现这个功能</p>
<p>首先声明一个类MyTest</p>
<p>using System;<br>
using System.Collections.Generic;<br>
using System.Text;<br>
using System.ComponentModel;<br>
using System.Windows.Forms;<br>
using System.Drawing;<br><br>
namespace ProperTyGridApplication<br>
{<br>
[DefaultProperty("Text")]<br>
public class MyTest<br>
{<br>
private string _ControlID;<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
[DefaultValue(125)]<br>
public string ControlID<br>
{<br>
get { return _ControlID; }<br>
set { _ControlID = value; }<br>
}<br><br>
private bool _Needcheck;<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
public bool Needcheck<br>
{<br>
get { return _Needcheck; }<br>
set { _Needcheck = value; }<br>
}<br>
private ControlTypeEnum _ControlType = ControlTypeEnum.Label;<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
public ControlTypeEnum ControlType<br>
{<br>
get { return _ControlType; }<br>
set { _ControlType = value; }<br>
}<br>
public enum ControlTypeEnum<br>
{<br>
/**/<br>
/// <summary><br>
/// 标签<br>
/// </summary><br>
Label = 1,<br>
/**/<br>
/// <summary><br>
/// 文本框<br>
/// </summary><br>
TextBox = 2,<br><br>
ComboBox=3,<br><br>
CheckBox=4<br><br>
}<br><br>
private ListItemCollection _ValueList = new ListItemCollection();<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
public ListItemCollection ValueList<br>
{<br>
get { return _ValueList; }<br>
set { _ValueList = value; }<br>
}<br>
private Font font;<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
public Font FontTest {<br><br>
set { font = value; }<br>
get { return font; }<br><br>
}<br>
private DateTime dt;<br>
[PropertyTab("s")]<br>
[Bindable(true)]<br>
[Browsable(true)]<br>
public DateTime DateTest<br>
{<br>
set {<br>
dt = value;<br>
}<br>
get {<br>
return dt;<br>
}<br>
}<br><br><br>
private int intTest;<br>
[Category("Value")]<br>
[Bindable(System.ComponentModel.BindableSupport.Default,System.ComponentModel.BindingDirection.OneWay)]<br>
[Browsable(true)]//是否显示<br>
[Description("this is a num")]<br>
[DefaultValue(20)]<br>
public int IntTest<br>
{<br>
set {<br>
intTest = value;<br><br>
}<br>
get {<br>
return intTest;<br>
}<br>
}<br>
}<br><br>
}</p>
<p>我们通过下面的Code来获取IntTest的 [DefaultValue(20)]值</p>
<p>AttributeCollection attributes = TypeDescriptor.GetProperties(new MyTest())["IntTest"].Attributes;<br>
DefaultValueAttribute myAttribute = (DefaultValueAttribute)attributes[typeof(DefaultValueAttribute)];<br>
this.Text = myAttribute.Value.ToString();</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值