看到MVC如下代码
BLL.DBRolsBLL bls{get;set;}//= new BLL.DBRolsBLL();
看不懂,于是转到DBRolsBLL定义,定义的代码如下
public class DBRolsBLL
{
IDAL.IDBSession db;
IDAL.IDRols idb;// = DALFactory.DALFactory.GetIDRols();
public DBRolsBLL()
{
db = DALFactory.DBSessionFactory.CreateGetDBSession();
idb = db.rols;
}
还是不能理解这个语法糖,为什么可以这样子写,请高人指点我一下,谢谢。
这就是基本的属性了
属性为什么不在 写类的时候 写呢, 为什么在定义的地方写呢, 定义的时候,我感觉只有2种 方式,一种 是命名,一种 是 new 一个实体出来。
@zhengyingcan: 类里面包含
函数
字段
属性
@刘宏玺: 感觉 BLL.DBRolsBLL bls{get;set;} 不是在写一个类呀,只是定义一下
其中DBRolsBLL 完整的类如下
public class DBRolsBLL
{
IDAL.IDBSession db;
IDAL.IDRols idb;// = DALFactory.DALFactory.GetIDRols();
public DBRolsBLL()
{
db = DALFactory.DBSessionFactory.CreateGetDBSession();
idb = db.rols;
}
//查询所有rols
public IQueryable<DBRols> DBRolsToList()
{
return idb.LocaList(x => true).AsQueryable();
}
//分页查询所有rols
public IQueryable<DBRols> DBRolsToList(int pageSize, int pageIndex, out int total)
{
return idb.LocaList(x => true, pageSize, pageIndex, out total).AsQueryable();
}
//添加rols角色
public DBRols Adds(DBRols r)
{
return idb.Add(r) ;
}
//查询指定Rols
public DBRols getDBRols(DBRols r)
{
return idb.LocaList(x => x.ID == r.ID).FirstOrDefault();
}
public DBRols getDBRols(int r)
{
return idb.LocaList(x => x.ID == r).FirstOrDefault();
}
//删除Rols
public bool deleteRols(DBRols r)
{
return idb.delete(r);
}
//更新权限
public bool updataRols(DBRols r,List<int> ids)
{
r.DBUserAction.Clear();
DBUserActionsBLL db = new DBUserActionsBLL();
r.DBUserAction = db.getDBUserActionList(x=>ids.Contains(x.ID)).ToList() ;//查询list中包含的权限id 然后赋予 d
return idb.updata(r);
}
}
@zhengyingcan: 你这个是DBRolsBLL类
BLL.DBRolsBLL bls{get;set;}//= new BLL.DBRolsBLL();
这个是其他类中的属性
BLL.开头是命名空间
@刘宏玺: 你的意思,BLL.DBRolsBLL bls{get;set;} 创建了一个新类,新类名是bls
那 BLL.DBRolsBLL 是多余的吗,
@zhengyingcan: http://www.runoob.com/csharp/csharp-property.html
@刘宏玺: 难道说 BLL.DBRolsBLL bls{get;set;} 定义了DBRolsBLL类,同时为 DBRolsBLL 加了属性进去,
@zhengyingcan: DBRolsBLL可能是个内部类
你代码发的不全,我不懂你在说什么
@刘宏玺: 我其实是看不懂 BLL.DBRolsBLL bls{get;set;} 这种 写法
如果写成 BLL.DBRolsBLL bls= new BLL.DBRolsBLL(); 我就懂了,
高人你有邮箱吗,我把类发到你的邮箱里面吗,
@zhengyingcan:
http://www.runoob.com/csharp/csharp-property.html
这个连接你仔细看了没有?
看后和我说说你讲的是什么知识,和你的问题是什么关系
@刘宏玺: 我看了,只是都是类里面有属性, 这个我学过的。是不是你要看
抽象属性 这一块呢
@zhengyingcan:
BLL.DBRolsBLL bls{get;set;}这个就是正宗的属性了, 那还有啥不懂的?
@刘宏玺: 我记得写属性格式应该如下 , 但写成 BLL.DBRolsBLL bls{get;set;} 我实在是不能理解
public class Product
{
private string _name; public Product()
{
_name = "白色经典长袖衬衫"; //或者 //Name = "白色经典长袖衬衫";
}
public string Name
{
get
{ return _name;
}
set
{
_name = value;
}
}
}
@刘宏玺: 完整的代码我截屏吧,如下
@zhengyingcan: IOC注入的实现吧
@calvinK: IOC注入 有没有这方面的经典博客 ,推荐一下,谢谢
@zhengyingcan: 那这种写法可以认为是语法糖了
@刘宏玺: ioc和语法糖有什么关系,汗......
@zhengyingcan: 园子里面搜ioc,一大把的文章