Не удается неявно преобразовать тип 'T' в 'Int'

При попытке вызвать эту функцию в моем коде я получаю ошибку в заголовке. Также оператор '+=' не может быть применен к операндам типа 'int' и 'T'

public int Change<T>(Stats type, T value)
    {
        Dictionary<string, string> temp = new Dictionary<string, string>();
        temp = sql.Query(string.Format("SELECT {0} FROM player WHERE fbId='{1}'", type.ToString(), FBId));
        if (typeof(T) == typeof(int))
        {
            int t = Convert.ToInt16(temp[type.ToString()]);
            t += value;
            if (t < 0) return -1;
            PlayerStats[type] = t;

        }
        sql.Upload(string.Format("UPDATE player SET {0}='{1}' WHERE fbId='{2}'", type.ToString(), PlayerStats[type], FBId));
        return 0;
    }

Я вызываю функцию с помощью:

Change<int>(type, 1);
13
задан Kirill Polishchuk 17 November 2011 в 16:39
поделиться