c# - 为什么我可以在该实例之外调用同类型的另一个实例的私有(private)方法?

标签 c# access-modifiers

<分区>

如果我有 ObjectA,它有一个私有(private)方法 GetPrice() 并且还有一个相同类型的“父”字段,为什么我可以调用 GetPrice() 在子实例中的父实例上?

例子:

private decimal GetPrice()
{
    ObjectA parent = Parent;

    if(parent != null)
    {
        return parent.GetPrice(); // Why is this OK?
    }

    return 0;
}

最佳答案

因为私有(private)意味着“其他类型无法访问”,而不是“其他实例无法访问”。

关于c# - 为什么我可以在该实例之外调用同类型的另一个实例的私有(private)方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13195891/

相关文章:

c# - 是否有任何等效于使用 C# 限制对一个线程的访问的访问修饰符?

java - 当我们有访问器和修改器时,为什么要声明私有(private)字段?

c# - Visual Studio QueryFirst 扩展

c# - 是否可以在运行时设置 C# init-only 属性?

c# - 将 C++ 结构转换为 C# 结构

Java 包级访问

java - "public"类和未修改的类之间的区别?

java - 从同一类的不同实例访问私有(private)方法

c# - 使用 Moq,我如何设置一个带有输入参数的方法调用作为具有预期属性值的对象?

c# - Parallel.Foreach 异常和取消