List<实体> 实体集合= new List<实体集合>(数组集合.ToArray().Cast<实体集合>()).Where(p => p.实体属性.Length > 1).ToList<实体>(); 转换转换方便查询。
//是否只能药房人员(药师、药剂师)审核
private bool isPharmaceutistOnly = true;
/// <summary>
/// 是否只能药师、药剂师审核
/// </summary>
[Description( "是否只能药师、药剂师审核"),Category("设置"),DefaultValue(true)]
public bool IsPharmaceutistOnly
{
get
{
return isPharmaceutistOnly;
}
set
{
isPharmaceutistOnly = value;
}
}
后面的设置现场写过代码都都知道怎么配了。就不多说了。
5,重点分享一下:如果一个接口被很多个类实现了。突然有一天有一个类需要有一个特殊功能。怎么办呢?如果在这个接口里面添加一个方法,会出现要把所有实现此接口的的类做一个空的实现,改动比较大。
建议新建一个接口,只让需要这个功能的类实现这个接口。那么加上以前的接口。这个类就实现了多个接口了。同时又不需要改到其他的类。
6,第5点实现了接口如何调用呢。
有两种方法,1,通过类的实例化调用。
2,通过反射机制调用。
这里需要注意的是:“接口不可以实例化,但是可以通过一个类来实现接口,如果一个类被实例化了,不管他是通过什么方式实例化的(包括反射),那么他就具备了此类所具备的所有功能特性”。理解了这句话,在调用的时候就可以巧妙的应用:
如:
A,B,C,D是类, IA,IB,IC,ID 是接口;
A继承IA;B继承IB,IA;C继承IC,ID,D继承IC
突然A要添加一个功能。我添加一个IE接口,让A继承IA,IE。
因为IA的功能很早以前就可以实现的。那么如果要直接调用IE的接口方法。
可以通过如下方式调用:
1,假设以前实例化得A赋值给了G
2,可以通过G的类型转换成IE,这样就可以访问IE的方法了。如:
接口IA= G类 as 接口IA;
接口IE= G类 as 接口IE;
接口IE.方法();
3,如果你试图重新实例化IE接口,可能会导致类G被初始化掉。这里要小心。