XObject.AddAnnotation(Object) メソッド

定義

この XObjectの注釈リストにオブジェクトを追加します。

public:
 void AddAnnotation(System::Object ^ annotation);
public void AddAnnotation(object annotation);
member this.AddAnnotation : obj -> unit
Public Sub AddAnnotation (annotation As Object)

パラメーター

annotation
Object

追加する注釈を含むオブジェクト。

次の例では、注釈を XElementに追加します。

public class MyAnnotation {
    private string tag;
    public string Tag {get{return tag;} set{tag=value;}}
    public MyAnnotation(string tag) {
        this.tag = tag;
    }
}

public class Program {
    public static void Main(string[] args) {
        MyAnnotation ma = new MyAnnotation("T1");
        XElement root = new XElement("Root", "content");
        root.AddAnnotation(ma);

        MyAnnotation ma2 = (MyAnnotation)root.Annotation<MyAnnotation>();
        Console.WriteLine(ma2.Tag);
    }
}
Public Class MyAnnotation
    Private _tag As String

    Property Tag() As String
        Get
            Return Me._tag
        End Get
        Set(ByVal Value As String)
            Me._tag = Value
        End Set
    End Property

    Public Sub New(ByVal tag As String)
        Me._tag = tag
    End Sub
End Class

Module Module1
    Sub Main()
        Dim ma As MyAnnotation = New MyAnnotation("T1")
        Dim root As XElement = <Root>content</Root>
        root.AddAnnotation(ma)

        Dim ma2 As MyAnnotation = DirectCast(root.Annotation(Of MyAnnotation)(), MyAnnotation)
        Console.WriteLine(ma2.Tag)
    End Sub

End Module

この例を実行すると、次の出力が生成されます。

T1

注釈

注釈はインフォセットの一部ではないことに注意してください。これらは永続化されず、 ToStringによって表示されません。 また、XML 名前空間を VB プロジェクトにインポートし、SaveOptions.OmitDuplicateNamespaces 列挙値を使用して AddAnnotation を呼び出すと、すべての要素ではなく、1 つの要素のみが XML 名前空間属性を含みます。 詳細については、「 XML リテラルでの重複する名前空間の削除」を参照してください。

適用対象

こちらもご覧ください