[ServiceId("a001","A")]

这里的“[]“是指定义类或方法时,定义代码行的上一行的内容


[ServiceId("a001","A")]
public class Service : DADService

  [ServiceMethod("get")]
  public virtual DTOContainer GetData(DTOKey key)
  }
    .....
  }

}
第一个问题:
查了一些资料,这个属性可以定义版本信息,标记代码块,测试代码。
资料所写的没恩能理解,那位能够结合实际例子的解释一下,别太抽象,实际点。

第二个问题:
另外,我当前的系统架构是web service结构。

c#调用java的web service,
其中 这句代码
[ServiceMethod("get")]
就是制定了调用java的那个方法
[ServiceId("a001","A")] 中的a001,指定了调用哪个类。
这个用法也是属性吗?有这样用过的没有?
它是如何实现的?

一共两个问题,期待解答。
-----------------------------------------------------------------

 

特性类...
一般用来指示类如何展示,使用,在运行时可以通过反射得到,进而做其它的事情

给个最简单的例子

C# code
   
   
[Obsolete] private void button1_Click( object sender, EventArgs e ) { // 代码略


此时编译下,会有一个[警告]提示方法已过时
警告 1 “Linq.Form1.button1_Click(object, System.EventArgs)”已过时 D:/kkun/Linq/Linq/Form1.Designer.cs 39 35 Linq


如果改为

C# code
   
   
[Obsolete( " 方法已经过时了 " , true )] private void button1_Click( object sender, EventArgs e ) {


则直接报错!生成错误!
错误 1 “Linq.Form1.button1_Click(object, System.EventArgs)”已过时:“方法已经过时了” D:/kkun/Linq/Linq/Form1.Designer.cs 39 35 Linq

够直观吧?!

---------------------------------------------------------------------------------------------------------

 

特征类一般都以Attribute结尾,使用时可以写全也可以省略,上述代码还可以写全了,一个意思
C# code
    
    
[ObsoleteAttribute( " 方法已经过时了 " , true )] private void button1_Click( object sender, EventArgs e ) {

一个意思,另外一个最常见的例子
C# code
    
    
[Serializable] public class SomeClass { }

Serializable指示该类可以序列化!~如果没有此特性类修饰则试图序列化该类时会报错
同样也可以写全了,没区别
C# code
    
    
[SerializableAttribute] public class SomeClass { }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值