Size: a a a

var chat = new Chat();

2020 February 11

A

Aleksey in var chat = new Chat();
я же тебе скинул конвертатор в чем проблема?
источник

LU

Lars Ulrich in var chat = new Chat();
ну так-то оно десериализуется. я к тому, чтоб нарисовать красивый дженерик
источник

LU

Lars Ulrich in var chat = new Chat();
Aleksey
я же тебе скинул конвертатор в чем проблема?
минуту
источник

LU

Lars Ulrich in var chat = new Chat();
Aleksey
я же тебе скинул конвертатор в чем проблема?
проблема в том, что дженериком не получается. Есть базовый класс
   public class SocketSubscribe<T>
   {      
       public SocketSubscribe()
       {

       }
       public SocketSubscribe(int id, string method, T @params)
       {
           Params = @params;
           Id = id;
           Method = method;
       }
       [JsonProperty("id")]
       public int? Id { get; set; }
       [JsonProperty("params")]
       public T Params { get; set; }
       [JsonProperty("method")]
       public string Method { get; set; }
   }

и сам дженерик к нему:
  public class GenericParams
   {        
       public bool IsFull { get; set; }
       public Dictionary<string, object[]> Update { get; set; }
       public string Description { get; set; }
   }
источник

LU

Lars Ulrich in var chat = new Chat();
чтобы на выходе иметь JsonConvert.DeserializeObject<SocketSubscribe<GenericParams>>(json)
источник

AM

Artur Mustafin in var chat = new Chat();
Lars Ulrich
ну так-то оно десериализуется. я к тому, чтоб нарисовать красивый дженерик
public class KrasyvyGeneric<T>: Dictionary<string,T> where T: KrasyvyGeneric<T>, new { 
  ...
}
источник

LU

Lars Ulrich in var chat = new Chat();
Artur Mustafin
public class KrasyvyGeneric<T>: Dictionary<string,T> where T: KrasyvyGeneric<T>, new { 
  ...
}
так внутри params массив из разнородных объектов, в данном конкретном случае только один из объектов внутри массива можно пихнуть в словарь
источник

LU

Lars Ulrich in var chat = new Chat();
Artur Mustafin
public class KrasyvyGeneric<T>: Dictionary<string,T> where T: KrasyvyGeneric<T>, new { 
  ...
}
Я об этом: 1 элемент массива в словарь - ок. А 0-й и 2-й как?
источник

AM

Artur Mustafin in var chat = new Chat();
Lars Ulrich
Я об этом: 1 элемент массива в словарь - ок. А 0-й и 2-й как?
вместо object, серализатор может впихнуть как int, так и string, кроме того, что собственно Dictionary<string, object>

собственно, Dictionary<string, object> - это униваресальное описание формата JSON
источник

NK

ID:0 in var chat = new Chat();
Как работать с векторами и матрицами в C#: практическое руководство от  доктора Джеймса МакКаффри из Microsoft Research, которое поможет  освоить процесс машинного обучения с использованием C#.

https://visualstudiomagazine.com/articles/2019/11/07/charp-vectors-ml.aspx

#matrix #msresearch
источник

AM

Artur Mustafin in var chat = new Chat();
Lars Ulrich
Я об этом: 1 элемент массива в словарь - ок. А 0-й и 2-й как?
0-й и 2-й это object в словаре
источник

vl

vova lantsov in var chat = new Chat();
Lars Ulrich
Всем привет. Есть у кого варианты десериализации такой вот дичи? {"method":"update","params":[false,{"key1":[["0.022622","0.171"],["0.022619","0.001"]],"key2":[["0.022719","0.011"],["0.023107","300.3"]]},"description"],"id":42}
Начал рисовать дженерик, из общего у всех объектов method и id, params тоже есть у всех, но внутри там набор разнородных объектов. и пытаться разобрать даже просто как object[] эти параметры не получается
public class Model
{
 public string Method { get; set; }
 public JsonArray Params { get; set; }
 public int Id { get; set; }
}
источник

vl

vova lantsov in var chat = new Chat();
Artur Mustafin
0-й и 2-й это object в словаре
Там ключ взять не выйдет
источник

AM

Artur Mustafin in var chat = new Chat();
vova lantsov
Там ключ взять не выйдет
ну да, не выйдет
источник

vl

vova lantsov in var chat = new Chat();
Было бы {"key":false}
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Там ключ взять не выйдет
так я ж об этом
источник

vl

vova lantsov in var chat = new Chat();
vova lantsov
public class Model
{
 public string Method { get; set; }
 public JsonArray Params { get; set; }
 public int Id { get; set; }
}
Вот так получится, либо ещё вариант

List<JObject>
источник

vl

vova lantsov in var chat = new Chat();
Не помню точно, либо JArray, либо JsonArray
источник

LU

Lars Ulrich in var chat = new Chat();
vova lantsov
Вот так получится, либо ещё вариант

List<JObject>
так-то получается. но как с этой кашей потом работать. Мне же хочется, чтоб все по полочкам. Вот тебе описание, вот тебе флаг, вот тебе сам апдейт
источник

vl

vova lantsov in var chat = new Chat();
Lars Ulrich
так-то получается. но как с этой кашей потом работать. Мне же хочется, чтоб все по полочкам. Вот тебе описание, вот тебе флаг, вот тебе сам апдейт
ну как работать, легко же

foreach (var jsonToken in list)
{
 if (jsonToken.Type == JsonTokenType.Boolean)
 {
   bool value = jsonToken.Value<bool>();
 }
 else if (...)
}
источник