(C#)属性(property)
属性是字段和方法的一个交集。看起来像是一个字段,行为上又像是一个方法。
是类维持了封装性,有可以方便地使用字段。
- 访问属性的语法和访问一个字段(类成员)的语法是相同的。(
- 实际上,编译器自动转换为对特定accessor方法(取值和赋值方法统称为accessor方法)的调用
属性的声明如下:
AccessModifier Type PropertyName
{
get
{
//取值代码 (get accessor )
}
set
{
//赋值代码 (set accessor )
}
}
举例如下:配置ScreenPosition 的属性.
struct ScreenPosition
{
//小写的x,y是私有字段
private int x, y;
public ScreenPosition(int X, int Y)
{
this.x = rangeCheckedX(X);
this.y = rangeCheckedY(Y);
}
//大写的X,Y是公用属性
public int X
{
get { return this.x; }
set { this.y = rangeCheckedX(value); }
}
public int Y
{
get { return this.y; }
set { this.y = rangeCheckedY(value); }
}
private static int rangeCheckedX(int x) { ... }
private static int rangeCheckedY(int y) { ... }
}
使用属性.
ScreenPosition origin = new ScreenPosition ( 0, 0 ) ;
int xpos = origin.X ; // 实际调用 origin.X.get
origin.Y = 100 ; // 实际调用 origin.Y.set
只读属性 - 有get 没有 set .
只写属性 - 有set 没有 get
在接口中声明属性.
- 将get accessor 或 set accessor 主体替换成一个分号 .
interface IScreenPosition
{
int X { get; set; }
int Y { get; set; }
}
分享到:
相关推荐
C# 自定义属性在propertyGrid控件中显示 演示demo
c#winfrom PropertyGrid 运行时变更属性项 关于PropertyGrid相关参见:http://www.cnblogs.com/mywebname/archive/2007/11/15/959732.html
源代码,含例程。 加上代码中特性,就可以显示成中文,支持下拉菜单选择文本
手动动态添加 PropertyGrid 的数据行并显示 C# (非属性绑定方式)
给propertyGrid动态添加属性,估计有人想用。
如果属性是List,则需要点击省略号(...)进入弹出界面进行设置,使用这个demo的方式可以直接列在PropertyGrid中。
主要介绍了C#实现ProperTyGrid自定义属性的方法,主要通过接口ICustomTypeDescriptor实现,需要的朋友可以参考下
使用C#自定义propertygrid,能够自定义属性和显示顺序
一个关于C# PropertyGrid增加自定义属性的范例。
关于propertyGrid加载自定义属性的小Demo,可以根据自己需要进行更改
WinForm 属性编辑 propertyGrid示例 让你的程序属性编辑可以和vs 编辑器一样好用
C#修改文件属性摘要信息 1.添加依赖库:ole32.dll 2.调用静态方法:FileSummary.SetProperty(文件全路径名,修改内, 属性类型);即可。
在C#2019中,将XML结点动态映射为属性集,然后使用PropertyGrid加载并显示。支持父结点的名称自动映射为Category(目录).
PropertyGrid属性控件 学习PropertyGrid控件很好的例子 c# 共享ing
PropertyGrid 联动 自定义下拉框 实现 PropertyGrid 二级联动
在网上找了一些PropertyGrid的文章,也有可以实现多语言版本的,但是那种方法使PropertyGrid无法传值,没有实际意义。这个demo可以将CategoryName、PropertyName、PropertyDescription设置多国语言。并且不会出现...
PropertyGrid应是.Net Studio设计时显示、设置控件属性的控件。提供三种使用方法,供参考。
下面小编就为大家带来一篇C# 6.0的属性(Property)的语法与初始值详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧