首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中的派生类中访问私有成员?

在C#中,派生类无法直接访问基类的私有成员。私有成员是被封装在基类中,只能在基类内部访问。然而,可以通过以下两种方式间接地访问基类的私有成员:

  1. 使用protected修饰符:将基类中的私有成员改为受保护的(protected),派生类就可以访问这些成员。受保护的成员可以在派生类中直接访问,就像访问派生类自己的成员一样。例如:
代码语言:csharp
复制
class BaseClass
{
    private int privateField = 10;

    protected int protectedField = 20;

    private void PrivateMethod()
    {
        Console.WriteLine("Private Method");
    }

    protected void ProtectedMethod()
    {
        Console.WriteLine("Protected Method");
    }
}

class DerivedClass : BaseClass
{
    public void AccessPrivateMember()
    {
        // 可以访问受保护的成员
        Console.WriteLine(protectedField);

        // 无法直接访问私有成员
        // Console.WriteLine(privateField);

        // 通过受保护的方法间接访问私有成员
        ProtectedMethod();
    }
}
  1. 使用公共方法或属性:在基类中提供公共方法或属性,用于访问私有成员。这样派生类就可以通过调用公共方法或属性来间接访问基类的私有成员。例如:
代码语言:csharp
复制
class BaseClass
{
    private int privateField = 10;

    public void AccessPrivateMember()
    {
        Console.WriteLine(privateField);
    }
}

class DerivedClass : BaseClass
{
    public void AccessBasePrivateMember()
    {
        // 通过公共方法间接访问基类的私有成员
        AccessPrivateMember();
    }
}

以上是在C#中派生类访问私有成员的两种常见方式。根据具体的需求和设计,选择适合的方式来访问基类的私有成员。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券