将字符串转换为名称类

时间:2015-01-07 20:27:18

标签: c# xna

我试图传递一个字符串,使工作成为这样的一个类:

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)
    }
}

1 个答案:

答案 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);

请注意,传递引用不会导致创建新引用或发生任何“加载”。你在堆栈上产生额外的变量成本,但你已经在你的字符串上有了这个。

使用反射从调用类中获取这些对象将远远超过,并且完全没有必要。