2014-03-13 5 views
4

Мой конструктор выдает исключение. Так что я пытался добавить эту строку над ним:C# <exception > тег не отображается

/// <exception cref="System.Exception">Thrown when...</exception> 
public Person(int serial) 
{ 
    if(....) 
     throw new System.Exception(); 
} 

Когда я пишу в Main: Person x = new Person(... это не показывает, что исключение это может бросить (в окне всплывающей подсказки). Такая же проблема возникает и с индексатором и свойствами, если я хочу показать его только для Set.

Если я пишу это выше обычных других методов, он показывает это.

Заранее спасибо.
Liron.

+0

Работа с ReSharper? –

+0

Это показывает, после создания экземпляра и мыши, зависающего над конструктором. Кстати, я использую resharper, если это имеет значение –

+0

no ReSharper. Vs 2012. Для конструктора он отображается только тогда, когда мышь наводится на него, но это не полезно, потому что мне нравится знать об исключениях при создании объекта во время написания кода. – user3344394

ответ

1

Если вы не указали информацию в комментариях XML для метода, свойства или поля и в правильном формате, Visual Studio не подберет его и не отобразит. Для Конструктора, синтаксис будет:

/// <summary> 
/// Create a person from a serial number 
/// </summary> 
/// <exception cref="ArgumentException">Thrown when serial number is outside valid  range</exception> 
/// <param name="serial"></param> 
public Person(int serial) 
{ 
if (serial == 0) 
    { 
    throw new ArgumentException("Serial number cannot be zero"); 
    } 
} 

К сожалению, даже с этим, информация исключение не отображается в Intellisense для конструкторов только в сгенерированных файлов документации!

[изменить] Незначительное разъяснение [/ edit]

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