C#中原始的封装问题的解决办法
2012-07-11 13:53
169 查看
封装属性
自动使用get 标识符进行读
自动使用set 标识符进行写
代码示例:
struct Time
{
...
public int Hour //没有(),是H而不是h
{
get { ... }
set { ... }
}
private int hour, minute, second;
}
Time lunch = new Time();
...
lunch.Hour = 12;
...
Console.WriteLine(lunch.Hour);
C#提供了一个解决上述问题的好办法。你可以把get和set函数组合成一个简单的属性。属性的声明包括一个可选的访问修饰符(在例子中是public)、返回值(int)、属性的名字(Hour)和一个包含get和set语句的属性体。特别要注意的是属性没有括号,因为属性不是函数。属性的命名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。在上面的例子中,Hour属性是公有的,所以命名为Hour而不是hour。
例子中演示了属性的用法。属性使用的语法和字段的一样,没有括号。如果你要写一个属性,那你可以这样写:
lunch.Hour = 12;
属性的set语句自动被执行。
如果你要读一个属性,你可以这样写:
int hour = lunch.Hour;
属性的get语句自动被执行。
敬请关注我的小站:http://www.taoche.com/buycar/serial/dibadaiyage/
自动使用get 标识符进行读
自动使用set 标识符进行写
代码示例:
struct Time
{
...
public int Hour //没有(),是H而不是h
{
get { ... }
set { ... }
}
private int hour, minute, second;
}
Time lunch = new Time();
...
lunch.Hour = 12;
...
Console.WriteLine(lunch.Hour);
C#提供了一个解决上述问题的好办法。你可以把get和set函数组合成一个简单的属性。属性的声明包括一个可选的访问修饰符(在例子中是public)、返回值(int)、属性的名字(Hour)和一个包含get和set语句的属性体。特别要注意的是属性没有括号,因为属性不是函数。属性的命名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。在上面的例子中,Hour属性是公有的,所以命名为Hour而不是hour。
例子中演示了属性的用法。属性使用的语法和字段的一样,没有括号。如果你要写一个属性,那你可以这样写:
lunch.Hour = 12;
属性的set语句自动被执行。
如果你要读一个属性,你可以这样写:
int hour = lunch.Hour;
属性的get语句自动被执行。
敬请关注我的小站:http://www.taoche.com/buycar/serial/dibadaiyage/
相关文章推荐
- 基于.net compact framework 2.0,C#开发windows mobile 5.0程序遇到的一些问题及解决办法
- C#Session丢失问题的解决办法
- C#开发中提示无法加载DLL"***.dll":找不到指定的模块(异常来自HRESULT:0x8007007E)问题的解决办法
- "当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
- 关于c# SESSION丢失问题解决办法
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- 关于C#开发WEB项目TextBox控件的自适应高问题解决办法!
- c#远程获取网页内容及乱码问题的解决办法
- C#读取xml文档中文乱码问题及解决办法
- C# SESSION丢失问题的解决办法
- C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
- c#调用c++封装dll 参数为字符串输出函数的解决办法
- 基于ERP程序的公共代码中出现的问题及过度封装不方便维护的解决办法
- “当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
- “当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
- “当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
- VS2005“当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法
- 关于c# SESSION丢失问题解决办法[转]
- C# 模拟emwin编译出问题时的解决办法
- VS“当前不会命中断点。源代码与原始版本不同”的问题的有效解决办法