gpt4 book ai didi

c# - 访问子类中的 protected 成员

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:22 26 4
gpt4 key购买 nike

我有点卡住了,经过一番搜索后我转向你:

class StatusResponse
{
protected int _statusCode { get; set; }
protected string _statusMessage { get; set; }

public StatusResponse(string Response)
{
if (!String.IsNullOrEmpty(Response))
{
this._statusCode = int.Parse((Response.Split(' '))[0].Trim());
this._statusMessage = Response;
}
}
}

class GroupStatusResponse : StatusResponse
{
public int Count { get; private set; }
public int FirstArticle { get; private set; }
public int LastArticle { get; private set; }
public string Newsgroup { get; private set; }

public GroupStatusResponse(string Response) : base(Response)
{
string[] splitResponse = Response.Split(' ');
this.Count = int.Parse(splitResponse[1].Trim());
this.FirstArticle = int.Parse(splitResponse[2].Trim());
this.LastArticle = int.Parse(splitResponse[3].Trim());
this.Newsgroup = splitResponse[4].Trim();
}

为什么我不能这样做:

GroupStatusResponse resp = new GroupStatusResponse("211 1234 3000234 3002322 misc.test");
Console.Writeline(resp._statusCode);

最佳答案

使用

Console.Writeline(resp._statusCode);

来自外部的派生类是公共(public)的,并且不 protected 地使用。

但是,您可以添加如下内容:

class GroupStatusResponse : StatusResponse
{
public int GetStatusCode()
{
return _statusCode;
}
}

这是完全有效的用法。

此外,如果场景是_statusCode 应该允许任何人读取,但只有基类应该能够设置它,您可以将其定义更改为:

public string _statusMessage { get; private set; }

关于c# - 访问子类中的 protected 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13968381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com