Property、attributey、field有什么区别?
答案:2 悬赏:0 手机版
解决时间 2021-04-05 11:56
- 提问者网友:战魂
- 2021-04-04 21:59
Property、attributey、field有什么区别?
最佳答案
- 五星知识达人网友:轻熟杀无赦
- 2021-04-04 22:35
1、Property 你可以理解为属性,属性基本是为了在类的外部对私有变量的值进行读/取。
2、attribute 这个你可以理解为 特性,一般写在类头上面,表示为这个类添加了某些特性。
以下代码表示 AAA 可以被序列化。
[Serializable]
public class AAA : Base
3、characteristic 不太清楚具体是什么,翻译过来的是 特征、特性。
4、field 翻译过来是 域 的意思
域这个词不太好讲,我一般将它理解为访问界限或者区域。
举个最简单的例子
public void TEST()
{
int a = 0;
} //a 的作用域到此结束。
int a = 1;//这样会报错
=========================
int a = 0;//下面都是a的作用域
public void TEST()
{
a = 1;//这样不会报错
}
2、attribute 这个你可以理解为 特性,一般写在类头上面,表示为这个类添加了某些特性。
以下代码表示 AAA 可以被序列化。
[Serializable]
public class AAA : Base
3、characteristic 不太清楚具体是什么,翻译过来的是 特征、特性。
4、field 翻译过来是 域 的意思
域这个词不太好讲,我一般将它理解为访问界限或者区域。
举个最简单的例子
public void TEST()
{
int a = 0;
} //a 的作用域到此结束。
int a = 1;//这样会报错
=========================
int a = 0;//下面都是a的作用域
public void TEST()
{
a = 1;//这样不会报错
}
全部回答
- 1楼网友:执傲
- 2021-04-04 23:56
1.Property:
属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。
例如,为类TimePeriod定义属性Hours:
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
}
2.Attribute:
属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。属性与程序实体关联后,即可在运行时使用名为“反射”的技术查询属性。有关更多信息,请参见反射(C# 编程指南)。
属性以两种形式出现:
一种是在公共语言运行库 (CLR) 中定义的属性。
另一种是可以创建的用于向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索
例,属性 TypeAttributes.Serializable 用来将特定特性应用于类:
[System.Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
characteristic和field在C#中无此概念
属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法。这使得可以轻松访问数据,此外还有助于提高方法的安全性和灵活性。
例如,为类TimePeriod定义属性Hours:
class TimePeriod
{
private double seconds;
public double Hours
{
get { return seconds / 3600; }
set { seconds = value * 3600; }
}
}
2.Attribute:
属性提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。属性与程序实体关联后,即可在运行时使用名为“反射”的技术查询属性。有关更多信息,请参见反射(C# 编程指南)。
属性以两种形式出现:
一种是在公共语言运行库 (CLR) 中定义的属性。
另一种是可以创建的用于向代码中添加附加信息的自定义属性。此信息可在以后以编程方式检索
例,属性 TypeAttributes.Serializable 用来将特定特性应用于类:
[System.Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
characteristic和field在C#中无此概念
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯