Задать вопрос

Как создать экземпляр объекта из параметра типа функции?

Имеется метод в классе Utils
public static T getJsonList<T>(string json)
        {
            string newJson = "";
            T obj = new T();
            Debug.Log("getJsonList " + json);
            if(json.Substring(0, 1) != "{") {
                newJson = "{ \"array\": " + json + "}";
            } else {
                newJson = json;
            }
            T wrapper = JsonUtility.FromJson<T>(newJson);
            return wrapper;
        }


Строка с созданием объекта типа T выдает данную ошибку в консоли:
Assets/Scripts/Utils.cs(20,21): error CS0304: Cannot create an instance of the variable type `T' because it does not have the new() constraint

Сам данный метод вызывается из другого класса в который так же передается параметром тип объекта:
callback(Utils.JsonHelper.getJsonList<T>(www.downloadHandler.text));


В этот метод передаются данные таким образом:
RequestManager.apiGET<Models.GameModel>("gamble", param, resp => {
//...
})


Собственно вопрос, как можно создать в методе getJsonList экземпляр объекта Models.GameModel
или как решить проблему с тем, что getJsonList не хочет парсить JSON строку ( {"status": 0} ) в объект модели выдавая ошибку
  • Вопрос задан
  • 166 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы