C#实现实现ProperTyGrid自定义属性的方法自定义属性的方法
主要介绍了C#实现ProperTyGrid自定义属性的方法,主要通过接口ICustomTypeDescriptor实现,需要的朋友可以
参考下
本文实例讲解了C#实现ProperTyGrid自定义属性的方法,分享给大家供大家参考。具体方法如下:
一般来说,C#如果要实现自定义属性必须要需要实现接口ICustomTypeDescriptor,具体实现方法如下:
// 摘要:
// 提供为对象提供动态自定义类型信息的接口。
public interface ICustomTypeDescriptor
示例如下:
/// <summary>
/// 自定义属性对象
/// </summary>
public class MyAttr
{
private string name = string.Empty;
public string Name
{
get { return name; }
set { name = value; }
}
private object value = null;
public object Value
{
get { return this.value; }
set { this.value = value; }
}
private string description = string.Empty;
public string Description
{
get { return description; }
set { description = value; }
}
public override string ToString()
{
return string.Format("Name:{0},Value:{1}",name.ToString(),value.ToString());
}
}
/// <summary>
/// 自定义性质描述类
/// </summary>
public class MyPropertyDescription : PropertyDescriptor
{
private MyAttr myattr = null;
public MyPropertyDescription(MyAttr myattr, Attribute[] attrs): base(myattr.Name, attrs)
{
this.myattr = myattr;
}
public override bool CanResetValue(object component)
{
return false;
}
public override Type ComponentType
{
get
{
return this.GetType();
}
}
public override object GetValue(object component)
{
return myattr.Value;
}
评论0
最新资源