Чтобы защитить вашу переменную, совместно используемую другим экземпляром, вам нужно создать новую переменную экземпляра каждый раз, когда вы создаете экземпляр. Когда вы объявляете переменную внутри класса, она является переменной класса и совместно используется всем экземпляром. Если вы хотите сделать это, например, необходимо использовать метод init для повторной инициализации переменной, ссылаясь на функцию экземпляра
init (). Эта специальная функция вызывается всякий раз, когда создается новый объект этого класса.
Этот тип функции также называется конструкторами в объектно-ориентированном программировании (ООП). Обычно мы используем его для инициализации всех переменных.
blockquote>Например:
class example: list=[] #This is class variable shared by all instance def __init__(self): self.list = [] #This is instance variable referred to specific instance
Существуют два основных подхода:
Либо
JObject.Parse(json)
); изменить график объекта , обновив вложенные объекты JObject во время перемещения; сериализуйте исходный JObject, который теперь представляет измененный граф объектов. Или
существует метод Remove (не уверен, что он был во время этого вопроса)
Например:
var raw = "your json text";
var o = (Newtonsoft.Json.Linq.JObject)JsonConvert.DeserializeObject(raw);
o.Property("totalItems").Remove()
return o.ToString();
или для вашего точного ввода
var parent = JsonConvert.DeserializeObject<JObject>(raw);
((JArray)parent.Property("results").Value)
.Select(jo => (JObject)jo)
.ToList()
.ForEach(x =>
x
.Properties()
.ToList()
.ForEach(p =>
{
if (p.Name != "name")
p.Remove();
}))
//.Dump();
;