автоматически сгенерированный код - PullRequest
11 голосов
/ 29 января 2009

Я работаю над отладкой некоторого кода и заметил кучу автоматически сгенерированных методов и объектов.

В верхней части кода для них я нахожу следующий комментарий:

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

Как вы выясните, что сгенерировало код? Мое любопытство одолело меня в этом, поэтому я и спрашиваю. Я искал части комментария в Google и не нашел ничего конкретного.

Ответы [ 9 ]

2 голосов
/ 29 января 2009

Это будет полностью зависеть от того, что код.

Предположительно, вы знаете класс, который вы отлаживаете - будь то часть ORM, часть сгенерированного прокси веб-сервиса и т. Д. Это важный бит информации.

2 голосов
/ 29 января 2009
    //------------------------------------------------------------------------------ 
    // <auto-generated> 
    // This code was generated by a tool. 
    // Runtime Version:2.0.50727.42 
    // 
    // Changes to this file may cause incorrect behavior and will be lost if 
    // the code is regenerated. 
    // </auto-generated> 
    //------------------------------------------------------------------------------



namespace FirstWeb 
{ 
    public partial class _Default 
    { 

        /// <summary> 
        /// form1 control. 
        /// </summary> 
        /// <remarks> 
        /// Auto-generated field. 
        /// To modify move field declaration from designer file to code-behind file. 
        /// </remarks> 
        protected global::System.Web.UI.HtmlControls.HtmlForm form1; 
    } 
} 

Вы не будете изменять этот автоматически созданный файл C #. Когда вы продолжаете добавлять элементы управления ASP.NET на страницу, этот файл увеличивается с дополнительными объявлениями. В более старых версиях C # (до версии 2.0) и Visual Studio (до версии 2005) этот код также находился в обычном файле Default.aspx.cs.

С введением частичных классов в C # код, принадлежащий одному и тому же классу, можно разделить на несколько файлов. Здесь вы видите «открытый частичный класс _Default», который используется для хранения кода , сгенерированного дизайнером Visual Studio . Вы также увидите ту же сигнатуру класса в файле Default.aspx.cs (вы используете это, чтобы написать свой собственный код).

Таким образом, разработчик (вы) и дизайнер (Visual Studio) могут работать независимо друг от друга.

Это взято из Первая веб-программа (веб-проект) на C # Объяснено

1 голос
/ 29 января 2009

Это также может быть файл .Designer.cs, созданный ResXFileCodeGenerator, который генерирует строго типизированные оболочки для файлов .resx.

1 голос
/ 29 января 2009
0 голосов
/ 31 июля 2012

Инструмент SVCUTIL от Microsoft (http://msdn.microsoft.com/en-us/library/aa347733.aspx) будет генерировать файлы исходного кода с этим комментарием вверху каждого файла, не идентифицируя себя как инструмент, сгенерировавший файл.

0 голосов
/ 28 февраля 2011

Это точный комментарий, который генерируется System.CodeDom при генерации файла из всего модуля компиляции кода.

0 голосов
/ 29 января 2009

Эти комментарии в точности совпадают с комментариями, найденными в некоторых моих справочных файлах. Это сгенерированные прокси-файлы для служб WCF, поэтому, возможно, ваш код также находится в этой области.

Если вы не видите эти файлы в обозревателе решений, нажмите «Показать все файлы», и они будут отображаться как файлы .cs в узле «Ссылки на службы».

0 голосов
/ 29 января 2009

Я думаю, что этот код был сгенерирован движком Linq to SQL.

вы можете изменить его, если понимаете, как кодировать с помощью Sql Enities

0 голосов
/ 29 января 2009

Ну, что это за код? Большинство инструментов MS включают этот заголовок. xsd.exe делает, sqlmetal (LINQ-to-SQL) делает и т. Д. Попробуйте просмотреть несколько строк ... например, быстрый тест xsd для меня показывает второй блок комментария:

// 
// This source code was auto-generated by xsd, Version=2.0.50727.3038.
// 

Но этого нет в коде LINQ-to-SQL ...; - (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...