【发布时间】:2021-01-19 11:55:32
【问题描述】:
我对来自 PHP 的 C# 很陌生,我遇到了一个问题,对于哪些特性来说是完美的,但我知道 C# 不支持特性。解决这个问题的最佳方法是什么?
在 Godot 中,我想通过添加一些动画方法来让自己更轻松地制作动画,根据 PHP,我会做这样的事情。方法也不能是静态的。
public trait SpriteAnimator {
public void Animate(string animation)
{
// DO SOMETHING
}
}
public class Actor : KinematicBody2D
{
use SpriteAnimator;
public override void _Ready()
{
Animate("run");
}
}
我将如何在 C# 中解决这个问题?
【问题讨论】:
-
看看扩展方法,将它们与接口一起使用。相关:stackoverflow.com/questions/6644668/mixins-with-c-sharp-4-0
-
@Jordão 据我所见,这些只能是静态的,这违背了这个目的。
-
没关系,我以为你只能做静态,但它们的工作方式与正常情况略有不同。谢谢@Jordão