base [“Description”]和Create(用户名)是什么意思?

时间:2016-08-04 23:49:18

标签: c# asp.net

任何人都可以为我描述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; } } } 和{{1}}在此代码中的作用吗?

{{1}}

3 个答案:

答案 0 :(得分:0)

使用base关键字调用/访问属性/ method / member的基类实现。

答案 1 :(得分:0)

Create来自 ProfileBase

ProfileBase继承自SettingsBaseItem具有{{3}}属性,该属性是base["Description"]来自的索引属性。

答案 2 :(得分:0)

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关键字访问它,因为ProfileBaseUserProfile的基类}。