c# - 子类字段可以在父类中使用吗?
问题描述
有没有办法在父类构造函数或方法中使用子类字段或属性?
public class Parent
{
public Parent()
{
}
}
public class Child : Parent
{
public int y;
public Child()
{
}
}
class Program
{
static void Main(string[] args)
{
Parent obj = new Child();
obj.y = 10;
}
}
在上面的代码中,我无法访问“y”字段
解决方案
当您通过对没有任何知识obj
的父类访问您的实例时,您肯定无法访问该成员,因为它仅在子类上定义。y
换句话说:每个Child
都是 aParent
并且具有y
- 属性。但不是每一个Parent
也是一个Child
。
因此,您的参考obj
必须具有 compile-time-type Child
,而不是Parent
:
Child obj = new Child();
obj.y = 10;
推荐阅读
- docker - 其他容器的 pdftk docker composer
- express - ExpressJS 应用程序每秒接收大约 70 个请求 - Cassandra 性能缓慢
- sockets - 只有当协议是 TCP 时,Wireshark 才能捕获原始套接字
- java - 我需要帮助将我的图像存储在内部目录中,它的路径是插入 SQLite
- c# - DataVisualization Charting - Place Point Label In Bar (If Go Outside Of Chart)
- ios - 稍有延迟后添加的 iOS 搜索栏不会出现在导航栏中
- swift - 为什么我在 Xcode 中找不到“swift language version”项?
- cypress - Use generated string in another field
- amazon-web-services - 请求/响应的 MQTT 主题名称
- sql - 如何使用最大函数postgresql获取最大值的列名?