Как умножить число с плавающей запятой на общий тип?

Я программирую в Unity 3.4.2 на OS X, используя C#.

У меня есть класс, подобный следующему:

class Foo<T>
{
    public T DoFoo(T bar)
    {
        float aFloatValue = 1.0f;
        // Do other stuff...
        return aFloatValue * bar;
    }
}

Когда Unity компилирует этот класс, он выдает следующее сообщение об ошибке:

ошибка CS0019: оператор *' не может быть применен к операндам типа float' и `T'

Я знаю, что типы, которые я предоставил для T, будут поддерживать умножение с float. Как в этом случае реализовать универсальное умножение?

11
задан nathanchere 1 November 2013 в 03:27
поделиться