当前位置: 首页 > news >正文

浙江平台网站建设制作展示网站系统架构设计

浙江平台网站建设制作,展示网站系统架构设计,长沙 外贸网站建设公司价格,品牌型网络营销目标属性提供了一种将元数据或声明性信息与代码(程序集、类型、方法、属性等)关联的强大方法。将属性与程序实体关联后,可以使用称为反射的技术在运行时查询该属性。 属性具有以下属性: 属性将元数据添加到您的程序中。元数据是有关程序中定义的类型的信息…

属性提供了一种将元数据或声明性信息与代码(程序集、类型、方法、属性等)关联的强大方法。将属性与程序实体关联后,可以使用称为反射的技术在运行时查询该属性。

属性具有以下属性:

  • 属性将元数据添加到您的程序中。元数据是有关程序中定义的类型的信息。所有 .NET 程序集都包含一组指定的元数据,用于描述程序集中定义的类型和类型成员。您可以添加自定义属性来指定所需的任何其他信息。
  • 您可以将一个或多个属性应用于整个程序集、模块或较小的程序元素(例如类和属性)。
  • 属性可以像方法和属性一样接受参数。
  • 您的程序可以使用反射检查自己的元数据或其他程序中的元数据。

反射提供描述程序集、模块和类型的对象(类型为 Type)。您可以使用反射动态创建类型的实例,将类型绑定到现有对象,或者从现有对象获取类型并调用其方法或访问其字段和属性。如果您在代码中使用属性,则反射可让您访问它们。

这是一个使用 GetType() 方法(所有类型都从 Object 基类继承)获取变量类型的反射简单示例:

请确保在 .cs 文件顶部添加 using System; 和 using System.Reflection;。

// Using GetType to obtain type information:
int i = 42;
Type type = i.GetType();
Console.WriteLine(type);

输出为:System.Int32。

以下示例使用反射获取已加载程序集的全名。

// Using Reflection to get information of an Assembly:
Assembly info = typeof(int).Assembly;
Console.WriteLine(info);

输出类似于:System.Private.CoreLib,Version=7.0.0.0,Culture=neutral,PublicKeyToken=7cec85d7bea7798e。

C# 关键字 protected 和 internal 在中间语言 (IL) 中没有任何意义,并且未在反射 API 中使用。IL 中的相应术语是 Family 和 Assembly。要使用反射识别内部方法,请使用 IsAssembly 属性。要识别受保护的内部方法,请使用 IsFamilyOrAssembly。

使用属性

属性可以放置在几乎任何声明上,但特定属性可能会限制其有效的声明类型。在 C# 中,您可以通过将属性名称放在方括号 ([]) 中,将其放在适用实体的声明上方来指定属性。

在此示例中,SerializableAttribute 属性用于将特定特征应用于类:

[Serializable]
public class SampleClass
{// Objects of this type can be serialized.
}

具有属性 DllImportAttribute 的方法的声明如下例所示:

[System.Runtime.InteropServices.DllImport("user32.dll")]
extern static void SampleMethod();

可以在一个声明中放置多个属性,如下例所示:

void MethodA([In][Out] ref double x) { }
void MethodB([Out][In] ref double x) { }
void MethodC([In, Out] ref double x) { }

对于给定实体,某些属性可以指定多次。这种多用途属性的一个示例是 ConditionalAttribute:

[Conditional("DEBUG"), Conditional("TEST1")]
void TraceMethod()
{// ...
}

按照惯例,所有属性名称都以单词“Attribute”结尾,以将其与 .NET 库中的其他项目区分开来。但是,在代码中使用属性时,您无需指定属性后缀。例如,[DllImport] 相当于 [DllImportAttribute],但 DllImportAttribute 是 .NET 类库中属性的实际名称。

属性参数

许多属性都有参数,这些参数可以是位置参数、未命名参数或命名参数。任何位置参数都必须按特定顺序指定,并且不能省略。命名参数是可选的,可以按任何顺序指定。位置参数首先指定。例如,这三个属性是等效的:

[DllImport("user32.dll")]
[DllImport("user32.dll", SetLastError=false, ExactSpelling=false)]
[DllImport("user32.dll", ExactSpelling=false, SetLastError=false)]

第一个参数(DLL 名称)是位置参数,始终位于最前面;其他参数是命名参数。在这种情况下,两个命名参数默认为 false,因此可以省略。位置参数对应于属性构造函数的参数。命名或可选参数对应于属性的属性或字段。

属性目标

属性的目标是属性所应用的实体。例如,属性可能应用于类、特定方法或整个程序集。默认情况下,属性应用于其后的元素。但您也可以明确标识,例如,属性是应用于方法、其参数还是其返回值。

要明确标识属性目标,请使用以下语法:

[target : attribute-list]

可能的目标值列表如下表所示。

您可以指定字段目标值,以将属性应用于为自动实现的属性创建的支持字段。

以下示例显示如何将属性应用于程序集和模块。

using System;
using System.Reflection;
[assembly: AssemblyTitleAttribute("Production assembly 4")]
[module: CLSCompliant(true)]

以下示例显示如何在 C# 中将特性应用于方法、方法参数和方法返回值。

// default: applies to method
[ValidatedContract]
int Method1() { return 0; }// applies to method
[method: ValidatedContract]
int Method2() { return 0; }// applies to parameter
int Method3([ValidatedContract] string contract) { return 0; }// applies to return value
[return: ValidatedContract]
int Method4() { return 0; }
http://www.yayakq.cn/news/476265/

相关文章:

  • 东莞注塑切水口东莞网站建设自己怎么做网站模块
  • 在线做插画的网站互联网创业就是做网站吗
  • 如果网站已被入侵西安淘宝网页设计
  • 3小时百度收录新站方法织梦做的网站在百度搜索页劫取
  • 电子商务网站的主要评价指标有原生h5网站怎么做
  • seo查询官方网站汽车公司网站建设
  • 广州穗科建设监理有限公司网站大型网页设计服务公司
  • 城建设投资公司网站阳江网红
  • 简述主要的电子商务网站有哪些二级单位网站建设
  • 官网招聘和招聘网站网站运营工作具体做啥
  • 科技作品天津seo网络优化师
  • 给银行做网站制作企业网站新闻列表页面网页设计实训报告
  • 做购物网站建设的公司简单的英文网站模板
  • 免费建立平台网站wordpress 正文 宽度
  • 国内产品设计网站常德seo公司
  • 网站鼠标悬停动态效果韩国手表网站
  • 梧州网站优化珠海市网站设计公司
  • 网站优化工作内容建筑培训网课
  • 集美网站开发一个静态网站多少钱
  • 学校网站的建设目标是什么wordpress wechat
  • 长沙网站收录网站建设遵循原则
  • 品牌网站建设顾问哪家公司建造了迪士尼乐园
  • 京东商城网站风格最近时事热点新闻事件
  • 怎么做自己的简历网站网站建设实训步骤
  • 河北固安建设局网站删除自豪的采用wordpress
  • 用返利网站做爆款wordpress 标签云页面
  • 郑州新站网站推广工具开网店需要了解的流程
  • 乐清公司做网站云南省建设工程投标中心网站
  • 营销网站建设流程图wordpress月会员
  • 帝国cms灵动标签做网站地图多php网站建设