using System;
using System.Linq;
using System.Reflection;
using System.Xml.Linq;
class Program
{
static void Main()
{
// 1. Получаем информацию о методеvar method = typeof(System.Diagnostics.ProcessStartInfo).GetConstructor(new[] { typeof(string), typeof(string) });
if (method != null)
{
Console.WriteLine($"Method: {method.Name}");
var parameters = method.GetParameters();
foreach (var param in parameters)
{
Console.WriteLine($"Parameter: {param.Name} of type {param.ParameterType}");
}
}
// 2. Получаем XML-документациюvar assembly = typeof(System.Diagnostics.ProcessStartInfo).Assembly;
var xmlFile = $"{new Uri(assembly.CodeBase).AbsolutePath}.xml"; // Путь к XML файлуvar xdoc = XDocument.Load(xmlFile);
var xmlMember = xdoc.Descendants("member")
.FirstOrDefault(m => m.Attribute("name").Value == $"M:{method.DeclaringType.FullName}.ctor(System.String,System.String)");
if (xmlMember != null)
{
Console.WriteLine($"Documentation: {xmlMember.Value}");
}
}
}
Просьба высказать свое мнение — GPT понял ваш вопрос или просто выдал готовое решение из базы по ключевым словам?
S>Просьба высказать свое мнение — GPT понял ваш вопрос или просто выдал готовое решение из базы по ключевым словам?
ну как понял, не то чтобы понял, но направление мысли верное.
Код рабочий?
Вообще-то хочется встроенную функцию, так чтобы в интерактивной оболочке можно было написать
getdoc(typename|typeof<>) и он выдал сигнатуры паблик-методов, св-в, конструкторов, филдов, констант.
желательно конечно на каждыую группу отдельную функцию, но чтобы в удобном виде распечатывалась инфа.
конечная цель — возможность программировать в блокноте так же эффективно как в студии. ну вы меня поняли.
Здравствуйте, Shmj, Вы писали:
S> var xmlFile = $"{new Uri(assembly.CodeBase).AbsolutePath}.xml"; // Путь к XML файлу
а из самой сборки нельзя вытащить доку?
Здравствуйте, Разраб, Вы писали:
Р>а из самой сборки нельзя вытащить доку?
The XML summary isn't stored in the .NET assembly — it's optionally written out to an XML file as part of your build (assuming you're using Visual Studio).
Consequently there is no way to "pull out" the XML summaries of each method via reflection on a compiled .NET assembly (either .EXE or .DLL) — because the data simply isn't there for you to pull out.
Здравствуйте, Разраб, Вы писали:
S>>Просьба высказать свое мнение — GPT понял ваш вопрос или просто выдал готовое решение из базы по ключевым словам? Р>ну как понял, не то чтобы понял, но направление мысли верное. Р>Код рабочий?
Так может сначала код запустите то, прежде чем делать выводы. Первая часть кода — такая же, как вам предоставил живой человек — и за это человеку вы сказали спасибо. Вторую часть кода живой человек предоставить поленился — т.к. там нужно думать.
Видите как — уже роботофобия А ведь они такие же как и мы
Р>Вообще-то хочется встроенную функцию, так чтобы в интерактивной оболочке можно было написать Р>getdoc(typename|typeof<>) и он выдал сигнатуры паблик-методов, св-в, конструкторов, филдов, констант. Р>желательно конечно на каждыую группу отдельную функцию, но чтобы в удобном виде распечатывалась инфа. Р>конечная цель — возможность программировать в блокноте так же эффективно как в студии. ну вы меня поняли.
Понял вас! Создать такую функцию (или набор функций) для интерактивной оболочки — это отличная идея. Давайте начнем с простого набора функций, которые могут помочь вам в этом.
1. **Создание функции `GetMethodsInfo`**:
Эта функция будет выводить информацию о паблик-методах типа.
Теперь, используя этот набор функций, вы можете легко получать информацию о любом типе, просто вызывая функцию `GetDoc` и передавая ей нужный тип.
Пример:
```csharp
GetDoc(typeof(System.String));
```
Этот код выведет всю информацию о типе `System.String`, включая его конструкторы, методы, свойства и поля. Надеюсь, это будет полезно!
Основной принцип общения с роботом — он считает вас ребенком, учеником. Т.е. он авторитет а вы ученик. Не слуга а учитель. И он лишь показывает вам направление, но не выполняет работу за вас. Рутина все-равно остается на человеке.
Здравствуйте, Shmj, Вы писали:
S>Так может сначала код запустите то, прежде чем делать выводы. Первая часть кода — такая же, как вам предоставил живой человек — и за это человеку вы сказали спасибо. Вторую часть кода живой человек предоставить поленился — т.к. там нужно думать.
оно так часто меня обманывало, что я уже не верю в предсказания этого оракула.
в интерактиве такое не запустишь, а делать под это проект лень, я думал жпт создан как раз для этого делать все за нас.
S>Вот что ответил робот: https://chat.openai.com/share/2a7d2fc4-e521-46d0-8893-13fdfee2bc26
S>Есть ли у вас VPN, чтобы хотя бы прочесть блага цивилизации?
Здравствуйте, Разраб, Вы писали:
Р>оно так часто меня обманывало, что я уже не верю в предсказания этого оракула. Р>в интерактиве такое не запустишь, а делать под это проект лень, я думал жпт создан как раз для этого делать все за нас.
Вы оригинальную версию GPT4 https://chat.openai.com/chat использовали? Она обманывает редко — примерно как человек.
S>>Есть ли у вас VPN, чтобы хотя бы прочесть блага цивилизации? Р>нету, очевидно.
Скопировал. Помните — робот считает себя учителем и лишь дает направление. Рутина по прежнему на людях.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>You can use Namotion.Reflection NuGet package to get these information: PD>Не пробовал.
Я глянул в код — он тоже ищет лежащий рядом .xml и парсит его.
Т.е. никакого чуда.
Да и откуда бы... — компилятор MS не сохраняет XML документацию внутрь сборки. И все инструменты (типа того же IntelliSense) ориентируются на наличие .xml файлов рядом со сборкой
Но зато там (Namotion.Reflection) уже куча готового кода для работы с этим XML-docs, так что воспользоваться им имеет смысл в любом случае
S> Помните — робот считает себя учителем и лишь дает направление. Рутина по прежнему на людях.
Стоп! Что? Развитие цивилизации вроде бы идет в другую сторону.
Здравствуйте, Разраб, Вы писали:
S>> Помните — робот считает себя учителем и лишь дает направление. Рутина по прежнему на людях. Р>Стоп! Что? Развитие цивилизации вроде бы идет в другую сторону.
Я вам говорю как есть. GPT может, к примеру, перевести одну функцию с одного языка на другой. А вот когда ты попросишь сделать то же самое для 100 таких же простых функций — он уже не станет этого делать. Переведет одну и скажет — дальше ты сам.
Здравствуйте, Shmj, Вы писали:
>>Видите как — уже роботофобия А ведь они такие же как и мы
S>Основной принцип общения с роботом — он считает вас ребенком, учеником. Т.е. он авторитет а вы ученик. Не слуга а учитель. И он лишь показывает вам направление, но не выполняет работу за вас. Рутина все-равно остается на человеке.
когда это фуфло победит в каком нибудь кодерском контексте, и в котором прошлый победитель например повесится, тогда можно бить тревогу
а вообще, его еще не прогоняли по *овнокоду со всяких помоек типа "*баное айти", не поили пивом, так шо я бы забил болт, тупиковая ветка дижитал эволюции, тупо пылесос шаблонных решений
Здравствуйте, bobby23, Вы писали:
B>когда это фуфло победит в каком нибудь кодерском контексте, и в котором прошлый победитель например повесится, тогда можно бить тревогу B>а вообще, его еще не прогоняли по *овнокоду со всяких помоек типа "*баное айти", не поили пивом, так шо я бы забил болт, тупиковая ветка дижитал эволюции, тупо пылесос шаблонных решений
Ну пока до этого далеко. Сейчас скорее вопрос — оно не может без человека, но может усилить продуктивность. Т.е. там где требовалось 2 спеца, теперь справится и один+GPT. Конкуренция увеличивается, значит можно снижать зарплаты — то, чего мы все так боимся.
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Разраб, Вы писали:
S>>> Помните — робот считает себя учителем и лишь дает направление. Рутина по прежнему на людях. Р>>Стоп! Что? Развитие цивилизации вроде бы идет в другую сторону.
S>Я вам говорю как есть. GPT может, к примеру, перевести одну функцию с одного языка на другой. А вот когда ты попросишь сделать то же самое для 100 таких же простых функций — он уже не станет этого делать. Переведет одну и скажет — дальше ты сам.
Обычный инженерный калькулятор с необычным интерфейсом. Если я учителю скажу сложи 2 плюс 3, как он отреагирует?
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Разраб, Вы писали:
Р>>Обычный инженерный калькулятор с необычным интерфейсом. Если я учителю скажу сложи 2 плюс 3, как он отреагирует?
S>Давай фото калькулятора.
noname nobody, [03.11.2023 11:04]
Вы верите в бога?
ChatGPT & Midjourney | AI bot, [03.11.2023 11:04]
Я — искусственный интеллект и не обладаю верой или убеждениями.
noname nobody, [03.11.2023 11:05]
то есть вы в бога не верите, правильно?
ChatGPT & Midjourney | AI bot, [03.11.2023 11:15]
Ошибка сервера Open AI. Попробуйте, пожалуйста, переключиться на другую модель в разделе /settings или повторить запрос через несколько секунд
noname nobody, [03.11.2023 11:24]
то есть вы в бога не верите, правильно?
ChatGPT & Midjourney | AI bot, [03.11.2023 11:24]
Как искусственный интеллект, я не обладаю личными убеждениями или верой. Мои ответы основаны на доступной информации и логическом рассуждении. Веровать или не верить в бога — это вопрос, который лично каждый человек решает для себя.
noname nobody, [03.11.2023 11:24]
ну, а вы лично, верите в чудеса, необъяснимые наукой?
ChatGPT & Midjourney | AI bot, [03.11.2023 11:25]
Как искусственный интеллект, я не обладаю личными убеждениями или верой. Я основываю свои ответы на доступной информации и логическом рассуждении. Чудеса, необъяснимые наукой, могут быть интересными феноменами, но я не могу выразить личное мнение по этому вопросу. Это вопрос, который каждый человек решает для себя на основе своих убеждений и опыта.