Что такое Дополнительный Класс?

Я использовал Json.NET с успехом в прошлом.

Пример от сайта:

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string json = JsonConvert.SerializeObject(product);
//{
//  "Name": "Apple",
//  "Expiry": new Date(1230422400000),
//  "Price": 3.99,
//  "Sizes": [
//    "Small",
//    "Medium",
//    "Large"
//  ]
//}

Product deserializedProduct = JsonConvert.DeserializeObject(json);

6
задан Tim 26 September 2012 в 03:38
поделиться

6 ответов

В формальной терминологии C # нет такого понятия, как «класс расширения». Это может означать класс, определяющий методы расширения (что не является чем-то особенным, это просто простой статический класс).

18
ответ дан 8 December 2019 в 03:01
поделиться

Your teacher may also be talking about partial classes...

7
ответ дан 8 December 2019 в 03:01
поделиться

Технически "класс расширения" не является чем-то особенным. На просторечии он может использоваться кем-то для обозначения класса, который предназначен для хранения методов расширения . Методы расширения - это методы, которые выглядят как методы экземпляра класса, но являются действительно статическими методами в статическом классе, которые предоставляются для улучшения и инкапсуляции определенных функций. Они особенно полезны, когда вы пытаетесь расширить определенные функциональные возможности для типа, который вы не можете изменить напрямую, и добавить к нему метод. Кроме того, они часто используются с универсальными типами (особенно в рамках .net 3.5) для расширения функциональности с помощью методов, предоставляемых конкретным интерфейсом.

3
ответ дан 8 December 2019 в 03:01
поделиться

Класс, имеющий методы расширения .

Методы расширения позволяют вам «добавлять» методы к существующим типам без создание нового производного типа, перекомпиляция или иное изменение the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. For client code written in C# and Visual Basic, there is no apparent difference between calling an extension method and the methods that are actually defined in a type.

2
ответ дан 8 December 2019 в 03:01
поделиться

Я не знаю, есть ли класс расширения. Но есть метод расширения. Попробуй это Метод расширения

0
ответ дан 8 December 2019 в 03:01
поделиться

Класс расширения в C # может быть просто дочерним классом (наследующим и добавляющим дополнительные функции к базовому типу или интерфейсу) или статическим классом.

1
ответ дан 8 December 2019 в 03:01
поделиться