kug*_*ang 1 c# jetbrains-ide unity-game-engine rider
我目前正在使用JetBrains的Rider作为IDE.
private void RemoveAlert(int idx, Image lockImg)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在编写上面的代码时,我收到了Rider的建议,要求将RemoveAlert方法的Image类型参数转换为Component.我不知道为什么.
我想知道这个提案是否更有效率或习惯性.如果你认识任何人,请回答.
图片是Rider的建议:
我无法确切地看到你是如何使用变量的(悬停文本覆盖了一些东西)但ReSharper会在你使用派生类但不使用它的任何额外功能时提出这个建议.看起来你正在获取它的gameObject
属性的引用,如果你看一下继承heirarchy,Component
是具有该属性的最低级别的类:
UnityEngine.UI.Image
UnityEngine.UI.MaskableGraphic
UnityEngine.UI.Graphic
UnityEngine.EventSystems.UIBehaviour
UnityEngine.MonoBehaviour
UnityEngine.Behaviour
UnityEngine.Component <- has gameObject property
UnityEngine.Object <- doesn't have gameObject property
Run Code Online (Sandbox Code Playgroud)
此外,如果您觉得这很烦人,可以在功能上添加以下内容:
// ReSharper disable once SuggestBaseTypeForParameter
Run Code Online (Sandbox Code Playgroud)
或者您可以将它放在文件本身的顶部以涵盖其所有功能:
// ReSharper disable SuggestBaseTypeForParameter
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
87 次 |
最近记录: |