Можно ли реализовать конструктор C # без использования имени класса? - PullRequest
0 голосов
/ 12 апреля 2010

При просмотре разобранных сборок .NET я замечаю, что конструкторы определяются как " .ctor ". Это возможно сделать в реальном коде?

Ответы [ 4 ]

5 голосов
/ 12 апреля 2010

Конечно, если вы пишете в IL нет, если вы пишете в C #, хотя.

3 голосов
/ 12 апреля 2010

RE:

Блин ... гораздо проще в использовании что в фрагментах кода

Это для фрагментов кода Visual Studio? У них уже есть один с именем ctor, который заменяет имя класса. Вы можете посмотреть на определение этого, если его поведение по умолчанию не то, что вы хотите.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ctor</Title>
            <Shortcut>ctor</Shortcut>
            <Description>Code snippet for constructor</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal Editable="false">
                    <ID>classname</ID>
                    <ToolTip>Class name</ToolTip>
                    <Function>ClassName()</Function>
                    <Default>ClassNamePlaceholder</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[public $classname$ ()
    {
        $end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
3 голосов
/ 12 апреля 2010

Не понимаю, зачем вам это нужно.

Вы можете использовать фрагмент кода VS и получить бесплатный конструктор.

Просто введите ctor и дважды нажмите клавишу Tab.

2 голосов
/ 12 апреля 2010

Это только синтаксическая разница между C # и IL. Вам нужно вызвать имя класса при определении конструктора в вашем коде C #. Чего вы хотите достичь?

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