Какие атрибуты .NET люди обращаются к своему коду? [дубликат]

11
задан Community 23 May 2017 в 12:11
поделиться

7 ответов

-

Я только что нашел эти ресурсы:

// The DebuggerDisplayAttribute can be a sweet shortcut to avoid expanding
// the object to get to the value of a given property when debugging. 
[DebuggerDisplay("ProductName = {ProductName},ProductSKU= {ProductSKU}")] 
public class Product 
{ 
    public string ProductName { get; set; } 
    public string ProductSKU { get; set; } 
}

// This attribute is great to skip through methods or properties 
// that only have getters and setters defined.
[DebuggerStepThrough()] 
public virtual int AddressId 
{ 
    get { return _AddressId;}     
    set 
    { 
        _AddressId = value;   
        OnPropertyChanged("AddressId"); 
    } 
}

// The method below is marked with the ObsoleteAttribute. 
// Any code that attempts to call this method will get a warning.
[Obsolete("Do not call this method.")]
private static void SomeDeprecatedMethod() { }

// similar to using a combination of the DebuggerHidden attribute, which hides
// the code from the debugger, and the DebuggerStepThrough attribute, which tells
// the debugger to step through, rather than into, the code it is applied to.
[DebuggerNonUserCode()]
private static void SomeInternalCode() { }
4
ответ дан 3 December 2019 в 10:44
поделиться

У нас есть много CLS, совместимого кода и некоторые не, так что это явно плюс для нас:

[assembly:CLSCompliant(true)]
[CLSCompliant(true)]

Это много помогает нам.

2
ответ дан 3 December 2019 в 10:44
поделиться

Преобразование 1/3 в двоичный

SO 1/3 = 0,010101010101101010101010101

, а затем просто «умножьте» это число, используя сдвиги и сумму

-121--3428182-

Я обычно использую [ROASSARY (FALSE)] и [Serializable] .

[ROWSBARY (FALSE)] на свойстве скрывает свойство от PropertyGrid.

Не стоит ли это быть сообществом-вики?

1
ответ дан 3 December 2019 в 10:44
поделиться
[DebuggerDisplay(....)]

, чтобы определить, какие поля структуры или класса я хочу видеть на дисплее отладчика.

-121--3007021-

Термин производный класс является предпочтительным C++ parlance для класса, который наследует от другого класса, который в C++ parlance называется базовым классом . Поэтому в C++ термины, о которых вы спрашиваете, идентичны.

-121--3095741-

Мне действительно нравится DebuggerDisplay :

[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
    public int count = 4;
}

Он инструктирует VS, что отображать при наведении курсора на предмет.

1
ответ дан 3 December 2019 в 10:44
поделиться

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

0
ответ дан 3 December 2019 в 10:44
поделиться
[DebuggerDisplay(....)]

, чтобы определить, какие поля структуры или класса я хочу видеть на дисплее отладчика.

0
ответ дан 3 December 2019 в 10:44
поделиться

Иногда BindableAttribute хорошо влияет на поведение связывания компонентов. Может быть, полезно разжечь отражатель, поискать "Атрибут" и немного просмотреть. Это зависит от ваших намерений, какие из них будут полезны.

0
ответ дан 3 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: