Вы можете безопасно использовать встроенный JavaScriptSerializer
без ссылки на дополнительные сторонние библиотеки:
var ser = new System.Web.Script.Serialization.JavaScriptSerializer();
ser.DeserializeObject(json);
Я когда-то смешал с этим некоторое время назад и использовал это решение парней. Обработанный довольно хороший:
Нет, они не доступны посредством отражения. См. msdn:
комментарии документа XML не являются метаданными; они не включены в скомпилированный блок, и поэтому они не доступны посредством отражения.
Вы не можете получить доступ к тем, которые во времени выполнения, потому что они считаются комментариями компилятора.
Однако, если Вы хотели использовать Атрибут, чтобы определить информацию и получить доступ к ней во время времени выполнения через отражение, Вы могли сделать это.
См. Создавать Пользовательские атрибуты (Руководство по программированию C#) для создания атрибута и Атрибуты Доступа С Отражением (Руководство по программированию C#) для доступа во время выполнения.
Пример из MSDN:
Author.cs:
public class Author : System.Attribute
{
private string name;
public double version;
public Author(string name)
{
this.name = name;
version = 1.0;
}
}
SampleClass.cs:
[Author("H. Ackerman", version = 1.1)]
class SampleClass
{
// H. Ackerman's code goes here...
}
Вы можете при испускании файла документации XML. Процесс включил бы отражение использования, чтобы получить всех общедоступных членов типа, затем с помощью XPath, прочитать документацию из сгенерированного XML-документа.
ОБНОВЛЕНИЕ: для включения документа XML в dll/exe просто добавьте его как встроенный ресурс и скомпилируйте дважды, если документация изменяется.
Нет, те комментарии не включены в Ваш скомпилированный блок.
Visual Studio может создать .xml файл в Вашей выходной папке (\bin\your_project.xml), который содержит те комментарии. Если бы Ваше приложение было распределено с тем XML-файлом тогда, то Вы были бы в состоянии получить доступ к нему программно.
Я поддерживаю проект Jolt.NET на CodePlex и реализовал функцию, которая выполняет эту самую задачу. Для получения дополнительной информации обратитесь к библиотеке Jolt .
По сути, библиотека позволяет программно находить и запрашивать файл комментариев XML-документа для сборки, используя типы метаданных в System.Reflection
(например, MethodInfo
, PropertyInfo
и т. Д.).