国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

C# 屬性

2018-01-22 17:09 更新

C# 屬性

屬性可以向代碼元素添加自定義信息。

例如,我們可以使用屬性標記一個類已被棄用。

我們還可以標記一個接口是一個web服務的web接口。

屬性類

屬性由繼承自抽象類System.Attribute的類定義。

要將屬性附加到代碼元素,請在代碼元素前面的方括號中指定屬性的類型名稱。

例如,以下代碼將 ObsoleteAttribute 附加到Main類:


[ObsoleteAttribute]
public class Main {
   ...
}

此屬性由編譯器識別,并且如果引用了標記為過時的類型或成員,將導致編譯器警告。

按照慣例,所有屬性類型都以 Attribute 結束。

C#允許您在附加屬性時省略后綴:


[Obsolete]
public class Main {
   ...
}

ObsoleteAttribute 是在 System 命名空間中聲明的類型,如下所示:


public sealed class ObsoleteAttribute : Attribute {...}

C#語言和.NET Framework包括多個預定義屬性。


命名和位置屬性參數(shù)

屬性可以具有參數(shù)。

在下面的示例中,我們將 XmlElementAttribute 應用于類。

此屬性告訴XMLserializer對象在XML中的表示方式并接受幾個屬性參數(shù)。

以下屬性將CustomerEntity類映射到XML元素名為Customer,屬于http://www.yjpub.cn命名空間:


[XmlElement ("Customer", Namespace="http://www.yjpub.cn")]
public class Customer { 
   ... 
}

屬性參數(shù)屬于兩種類型之一:位置或命名。

在里面前面的例子中,第一個參數(shù)是位置參數(shù); 第二個是命名參數(shù)。

位置參數(shù)對應于屬性的參數(shù)類型的公共構造函數(shù)。

命名參數(shù)對應于公共字段或公共屬性的屬性類型。

當指定屬性時,我們必須包括對應的位置參數(shù)到一個屬性的構造函數(shù)。

命名參數(shù)是可選的。



屬性目標

下面是使用 CLSCompliant 屬性指定CLS合規(guī)性的示例對于整個裝配:


[assembly:CLSCompliant(true)]

指定多個屬性

可以為單個代碼元素指定多個屬性。

每個屬性都可以列在同一對方括號內,用逗號分隔單獨的方括號對。

以下三個示例在語義上是相同的:


[Serializable, Obsolete, CLSCompliant(false)]
public class Main {...}

[Serializable] [Obsolete] [CLSCompliant(false)]
public class Main {...}

[Serializable, Obsolete]
[CLSCompliant(false)]
public class Main {...}

來電信息屬性

我們可以用三個調用者信息之一來標記可選參數(shù)屬性。 它們告訴編譯器饋送從調用者獲得的信息源代碼插入參數(shù)“s默認值:

  • [CallerMemberName] applies the caller"s member name
  • [CallerFilePath] applies the path to caller"s source code file
  • [CallerLineNumber] applies the line number in caller"s source code file

以下程序中的OneMethod方法演示了所有三個:


using System;/*from  w ww  .  j a  va 2s  .c  om*/
using System.Runtime.CompilerServices;

class Main {
    static void Main(){
        OneMethod();
    }
    static void OneMethod (
        [CallerMemberName] string memberName = null,
        [CallerFilePath] string filePath = null,
        [CallerLineNumber] int lineNumber = 0){
        
            Console.WriteLine (memberName);
            Console.WriteLine (filePath);
            Console.WriteLine (lineNumber);
    }
}

假設我們的程序駐留在c:\\ source \\ test \\ Program.cs中,輸出將是:


Main
c:\source\test\Program.cs
11
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號