Ben*_*Ben 3 c# inheritance unity-game-engine
在以下 Unity/C# 代码中,该collider变量会产生以下警告:
警告 CS0108“Controller2D.collider”隐藏继承成员“Component.collider”。如果打算隐藏,请使用 new 关键字。
这是什么意思以及如何解决它?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// require that our object has a box-collider-2d component
[RequireComponent(typeof(BoxCollider2D))]
// controller-2D script
public class Controller2D : MonoBehaviour {
// stores a reference to our object's box-collider-2d component
BoxCollider2D collider; // the warning occurs here
// ...
}
Run Code Online (Sandbox Code Playgroud)
这是一个迟到的答案,但您可能会发现它很有用。在深入研究您的问题之前,先介绍一下:
ps1 “奇怪的多态性问题”我的意思是根据您的对象指针,将使用父类成员或子类成员。您可以在此处阅读更多信息: https: //stackoverflow.com/a/22809757/1854557 ps2 在我的测试代码中,当我添加和删除新键盘时,结果是相同的。因此,似乎不添加 new 关键字只会生成警告,但不会改变继承/多态性的行为。
| 归档时间: |
|
| 查看次数: |
19455 次 |
| 最近记录: |