2016-04-19 2 views
-7

Я видел код, подобный тому, что указано ниже:Пожалуйста, объясните, что означает следующий код в C#?

Так что же смысл следующей строки кода в этом, что он делает?

public SomeClass(); 

Code I am referring to.

+3

Это ничего не значит, потому что он не компилируется. Если строка фактически 'public SomeClass() {...}', то это конструктор для 'SomeClass'. – Lee

+0

Это конструктор - он используется для создания нового экземпляра 'SomeClass'. Вы можете захотеть google для некоторых базовых учебников C#, так как это и многие другие концепции будут объяснены. – Tim

+0

Я думаю, что вы имели в виду общественность SomeClass() {}? –

ответ

2

То, что вы ссылаетесь, называется Конструктор. Конструкторы имеют то же имя, что и класс, и они используются для инициализации элементов данных нового объекта.

reference.

Всякий раз, когда создается класс или структура, вызывается его конструктор. Класс или структура могут иметь несколько конструкторов, которые принимают разные аргументы. Конструкторы позволяют программисту устанавливать значения по умолчанию, ограничивать создание экземпляров и писать гибкий и удобный для чтения код.

Если вы видели код, аналогичный тому, что вы упомянули, то, честно говоря, это приведет к ошибке времени компиляции, поскольку синтаксис этого конструктора по умолчанию (с учетом 0 параметров) неверен.

должно быть:

public SomeClass() 
{ 
    //initialize members; 
} 

Если получен код, который вы только что отправленную картину, нажав Перейти к определению класса, то он будет показывать только декларации, а не реализации.

+0

Да GTown-Coder, я получил код, нажав Go To Definition – Nik

3

что конструктор класса SomeClass, и вы можете использовать его (назвать) каждый раз, когда вам нужно создать новый объект (AKA экземпляра) класса SomeClass

взглянуть на how to use a constructor (Спасибо CrowCoder за комментарий), а если требуется взглянуть на конструкторах doc

Instance конструкторы используются для создания и инициализации переменных членов экземпляра когда у se новое выражение для создания объекта класса. Чтобы инициализировать статический класс или статические переменные в нестатическом классе , вы должны определить статический конструктор. Для получения дополнительной информации о см. «Статические конструкторы» (Руководство по программированию на C#).

+0

Я не думаю, что это хорошее объяснение для кого-то этого неопытного. С одной стороны, это означает, что вы можете вызвать конструктор, как любой другой метод, а ссылка, imo, должна [указывать на эту страницу вместо этого] (https://msdn.microsoft.com/en-us/library/ms173115.aspx) , – Crowcoder

+0

@Crowcoder спасибо за предложение, я включу это в сообщение ... –

Смежные вопросы