ObsoleteAttribute
名字空间: System
函数已经不推荐使用
FlagsAttribute
名字空间: System
[FlagsAttribute] enum class MultiHue : short { Black = 0, Red = 1, Green = 2, Blue = 4 }; |
All possible combinations of values of an Enum with FlagsAttribute:
0 - Black 1 - Red 2 - Green 3 - Red, Green 4 - Blue 5 - Red, Blue 6 - Green, Blue 7 - Red, Green, Blue 8 - 8
SerializableAttribute, NonSerializedAttribute
名字空间: System
标记一个字段是否被序列化
DllImportAttribute
Win32 API 函数
1: [DllImport("User32.dll", EntryPoint="MessageBox")]
2: static extern int MessageDialog(int hWnd, string msg, string caption, int msgType);
WebMethod
名字空间: System.Web.Services
WebService方法, 有6个属性, 分别是 BufferResponse, CacheDuration, Description, EnableSession, MessageName, TransactionOption
1: [WebMethod(TransactionOption=TransactionOption.RequiresNew) ]
2: public void Transfer(long Amount, long AcctNumberTo, long AcctNumberFrom)
3: {
4: }
DataObjectAttribute, DataObjectFieldAttribute, DataObjectMethodAttribute
名字空间: System.ComponentModel
[DataObjectAttribute] public class NorthwindData { public NorthwindData() {} private int _employeeID; [DataObjectFieldAttribute(true, true, false)] public int EmployeeID { get { return _employeeID; } set { _employeeID = value; } } [DataObjectMethodAttribute(DataObjectMethodType.Select, true)] public static IEnumerable GetAllEmployees() { AccessDataSource ads = new AccessDataSource(); ads.DataSourceMode = SqlDataSourceMode.DataReader; ads.DataFile = "~//App_Data//Northwind.mdb"; ads.SelectCommand = "SELECT EmployeeID,FirstName,LastName FROM Employees"; return ads.Select(DataSourceSelectArguments.Empty); } // Delete the Employee by ID. [DataObjectMethodAttribute(DataObjectMethodType.Delete, true)] public void DeleteEmployeeByID(int employeeID) { throw new Exception("The value passed to the delete method is " + employeeID.ToString()); } } |
AmbientValueAttribute
名字空间: System.ComponentModel
标记一个属性是否从周围环境获得值, 比如: 一个空间的背景色自动为其父空间的背景色
BindableAttribute
名字空间: System.ComponentModel
标记一个属性是否可以被绑定
[Bindable(true)] public int MyProperty { get { // Insert code here. return 0; } set { // Insert code here. } } |
BrowsableAttribute, CategoryAttribute, DisplayNameAttribute,DescriptionAttribute
DefaultEventAttribute, DefaultPropertyAttribute, DefaultValueAttribute,
DesignerAttribute, DesignerCategoryAttribute, DesignTimeVisibleAttribute, DesignOnlyAttribute
名字空间: System.ComponentModel
设计一个GUI组件时, 标记属性, 事件, 方法在设计器如何显示.
参见: Developing Custom Data-Bound Web Server Controls for ASP.NET 2.0
ConditionalAttribute
名字空间: System.Diagnostics
class Test { static void Main() { Console.WriteLine("Calling Method1"); Method1(3); Console.WriteLine("Calling Method2"); Method2(); Console.WriteLine("Using the Debug class"); Debug.Listeners.Add(new ConsoleTraceListener()); Debug.WriteLine("DEBUG is defined"); } [Conditional("CONDITION1")] public static void Method1(int x) { Console.WriteLine("CONDITION1 is defined"); } [Conditional("CONDITION1"), Conditional("Condition2")] public static void Method2() { Console.WriteLine("CONDITION1 or Condition2 is defined"); } } /* csc ConsoleApp.cs csc /define:CONDITION1 ConsoleApp.cs csc /define:Condition2 ConsoleApp.cs csc /define:DEBUG ConsoleApp.cs |
DebuggerBrowserableAttribute, DebuggerDisplayAttribute, DebuggerHiddenAttribute, MonitoringDescriptionAttribute
DebuggerNonUserCodeAttribute
DebuggerStepperBoundaryAttribute
DebuggerStepThroughAttribute
DebuggerTypeProxyAttribute
SwitchAttribute
SwitchLevelAttribute