我试图传递一个字符串,使工作成为这样的一个类:
mouvement = New MyClass();
public virtual void PlaySprite(string mouvement)
{
//Launch an animation named mouvement
sprite.Play(MyClass mouvement)
}
我需要转换字符串。有可能吗?
我想避免这样做,特别是因为我有100次移动
mouvement1 = New MyClass();
mouvement2 = New MyClass();
public virtual void PlaySprite(int number)
{
if (number == 1)
{
//Launch an animation named mouvement
sprite.Play(mouvement1)
}
else if (number == 2)
{
sprite.Play(mouvement2)
}
}
答案 0 :(得分:1)
只需接受MyClass
类型的参数即可。没有必要的字符串:
public virtual void PlaySprite(MyClass animation)
{
//You already have what you need in animation
sprite.Play(animation);
}
//Usage
PlaySprite(movement);
PlaySprite(movement1);
PlaySprite(movement2);
请注意,传递引用不会导致创建新引用或发生任何“加载”。你在堆栈上产生额外的变量成本,但你已经在你的字符串上有了这个。
使用反射从调用类中获取这些对象将远远超过,并且完全没有必要。