base[“描述”]和创建(用户名)的含义是什么?
本文关键字:是什么 用户 描述 创建 base | 更新日期: 2023-09-27 18:01:00
谁能为我描述base[""]
和Create()
在这个代码中的作用?
public class UserProfile : ProfileBase
{
public static UserProfile GetUserProfile(string username)
{
return Create(username) as UserProfile;
}
[SettingsAllowAnonymous(false)]
public string Description
{
get { return base["Description"] as string; }
set { base["Description"] = value; }
}
}
base["Description"]
语法就是 .NET 中所谓的Indexer
。可以使用 this
关键字通过属性声明在自己的类上定义索引器,如下所示:
public class MyClass
{
//indexer (could use int or anything else that your underlying collection supports)
public string this[string index]
{
get
{
//retrieve from internal cache/collection/etc based on index
}
set
{
//set internal cache/collection/etc based on index and value
}
}
}
然后像这样使用它
var myclass = new MyClass();
var value = myclass["index"];
myclass["another"] = "new value";
在您的示例中,ProfileBase
定义了一个索引器,UserProfile
通过 base
关键字访问它,因为ProfileBase
是 UserProfile
的基类。
使用base
关键字,您可以调用/访问属性/方法/成员的基类实现。
Create
来自 ProfileBase
ProfileBase 反过来继承自具有Item
属性的SettingsBase
base["Description"]
的来源。