对于类似于这样的说明标记[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethod
Type.Delete, true)]
该标记不起任何实际作用,仅是告诉vs该语句下面的方法(Method)是ObjectDataSource的默认绑定方法

标记的作用是为了让编译器更好的为ObjectDatasource向导找到合适的方法

下面的代码示例演示如何将 DataObjectMethodAttribute 属性应用于一个公共公开的方法,并标识该方法所执行的数据操作类型及该方法是否是该类型的默认数据方法。在此示例中,NorthwindData 类型公开两个数据方法:一个方法名为 GetAllEmployees,用于检索一组数据;另一个方法名为 DeleteEmployeeByID,用于删除数据。将 DataObjectMethodAttribute 属性同时应用于这两个方法,将 GetAllEmployees 方法标记为“Select”数据操作的默认方法,将 DeleteEmployeeByID 方法标记为“Delete”数据操作的默认方法。
C#
 复制代码
[DataObjectAttribute]
public class NorthwindData
{  
  public NorthwindData() {}

[DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
  public static IEnumerable GetAllEmployees()
  {
  AccessDataSource ads = new AccessDataSource();
  ads.DataSourceMode = SqlDataSourceMode.DataReader;
  ads.DataFile = "~//App_Data//Northwind.mdb";
  ads.SelectCommand = "SELECT EmployeeID,FirstName,LastName FROM Employees";
  return ads.Select(DataSourceSelectArguments.Empty);
  }

// Delete the Employee by ID.
  [DataObjectMethodAttribute(DataObjectMethodType.Delete, true)]
  public void DeleteEmployeeByID(int employeeID)
  {
  throw new Exception("The value passed to the delete method is "
  + employeeID.ToString());
  }
}

解释一下各位对于那些方括号的疑问,那个东西叫做Attribute(中文不知道该翻译成什么比较合适),主要是反射的时候用,本文中的这些Attribute非常的简单,仅仅是告诉反射的用户这个方法是干什么用的,以及是不是默认使用这个方法(似乎有些拗口,我们还是举例子吧)

e.g. 
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, true)] 
public Northwind.ProductsDataTable GetProducts() 

return Adapter.GetProducts(); 

其中,System.ComponentModel.DataObjectMethodType.Select说明这是一个用于Select的方法,true说明这是默认的用于Select的方法

所以,相对的 
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)] 
public Northwind.ProductsDataTable GetProductByProductID(int productID) 

return Adapter.GetProductByProductID(productID); 

就说明这是一个用于Select的方法,但是它不是默认的用于Select的方法

需要说明的是,上面所讨论的System.ComponentModel.DataObjectMethodAttribute是针对ProductsBLL而言的,也就是说当反射ProductsBLL的时候,这些东西就可以用了(注意:ProductsBLL是被标记为System.ComponentModel.DataObject的一个类,所以才可以用这些Attribute,否则会出问题的)

再简要的说明一下“反射”,我们在往设计器里面添加一个控件后,都可以使用属性窗口,这个属性窗口里面能显示这个控件的一些相关的东西,这个就是反射一种用法

转载于:https://www.cnblogs.com/zhongcj/archive/2008/07/24/1250634.html

Asp.net 类中使用中括号([......])的作用相关推荐

  1. 2.栅格的类中同时设置col-md-* col-sm-*的作用

    1.一般设定成这样的话,在小屏幕上会堆叠在一起 <div class="row"><div class="col-md-4 ">COL1 ...

  2. Spring事务管理嵌套事务详解 : 同一个类中,一个方法调用另外一个有事务的方法

    Spring 事务机制回顾 Spring事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务.  结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷.    ...

  3. 就同一个Service类中,一个事务方法调用另外一个有事务的方法

    目录 一.Spring 事务机制 二.Spring事务传播行为 三.场景总结 1.在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的 2. ...

  4. ASP.NET Core中为指定类添加WebApi服务功能

    POCO Controller是 ASP.NET Core 中的一个特性,虽然在2015年刚发布的时候就有这个特性了,可是大多数开发者都只是按原有的方式去写,而没有用到这个特性.其实,如果利用这个特性 ...

  5. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  6. ASP.NET Core 中的 startup类

    原文地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/startup 下文: --Startup类 --Configure方法 ...

  7. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  8. java类中serialversionuid 作用 是什么?举个例子说明

    转自https://www.cnblogs.com/duanxz/p/3511695.html serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的 ...

  9. python的类作用_python——类中的self到底的作用及三个应用场景

    class Test(object): def __init__ (self, val1): self.val0 = val1 def fun1(self): print(self.val0) def ...

最新文章

  1. 数据库服务器跟网站服务器间传输慢的问题
  2. python day two,while
  3. mysql_result()函数的简单使用
  4. verilog 移位运算符 说明_FPGA、数字IC系列(2)——电子科大与北航部分Verilog题目与解析...
  5. 2020深度文本匹配最新进展:精度、速度我都要!
  6. 大觅网Springcloud项目实战开发(持续更新中)
  7. 测试网速_使用Speedtest CLI测试你的网速
  8. 【移动安全技术】_安卓逆向5:绕过单机游戏的商店支付
  9. 人工智能狂潮_患有社交媒体狂潮? 使用这些工具从一个地方管理所有帐户
  10. 「计算机日常」笔吧测评室笔记本测评科普视频笔记
  11. halcon机器视觉玩转车牌识别-超人视觉罗超
  12. 【PS/AI】2021新年金色装饰背景矢量素材
  13. POJ1008 玛雅历
  14. cad图片边框怎么去掉
  15. 淘宝、天猫产品参数、基本信息API
  16. ROS 2行动-actions-
  17. 3款最好用的甘特图软件有哪些?
  18. FPGA专题-相位累加器(DDS)
  19. 录播系统服务器ip地址,录播系统自动跟踪系统
  20. 电子设备丢失数据如何恢复

热门文章

  1. (二分搜索)cable master
  2. 西电计算机学院导师苗启广,Xidian Media Lab
  3. queue double java_一文弄懂java中的Queue家族
  4. single java_java single Pattern 单例模式
  5. centos下载mysql_python数据分析之路——centos下载并配置mysql与navicat的使用
  6. Node.js Event loop 图解
  7. Java自动类型转换和强制类型转换
  8. html移除click事件绑定,带你了解JQuery中绑定事件(bind())和移除事件(unbind())...
  9. Python编程及高级数据分析
  10. 灰色预测法 —— python