GraphNodeId 类

GraphNodeId 是名称/值对,如“a=b”。此标识符(“a”)。GraphNodeIdName表示称为“名称”和右侧,“a b”是“值”部分的左侧部分。GraphNodeId的值部件可以是下列值之一:* string * URI * GraphNodeId * GraphNodeIdCollection。因为值可以是GraphNodeId或GraphNodeIdCollection,可以使用括号“()”指定嵌套:也就是说..,a= (b=c) a= (b=c d=e) (a=b c=d)。若要构造嵌套GraphNodeId列表(a=b c=d),创建GraphNodeIdCollection并将其分配给GraphNodeId:

GraphNodeId.Get (GraphNodeIdName.Nested,新GraphNodeIdCollection (GraphNodeId.Get (MyGraphNodeIdNames.a,“a b”) GraphNodeId.Get (MyGraphNodeIdNames.c,“d”);

使用以下简单算术,还可以创建此GraphNodeId:

GraphNodeId ab = GraphNodeId.Get (“(a=b)”);

GraphNodeId abcd = ab + “(c=d)”;

//(为a=b c=d)

该结果进行转换为字符串使用tostring()或隐式字符串强制转换运算符,并生成“(a=b c=d)”。

因为GraphNodeIds是在HashSet的存储过程,使用运算符==,它们可以进行比较。

继承层次结构

System.Object
  Microsoft.VisualStudio.GraphModel.GraphNodeId

命名空间:  Microsoft.VisualStudio.GraphModel
程序集:  Microsoft.VisualStudio.GraphModel(在 Microsoft.VisualStudio.GraphModel.dll 中)

语法

声明
<SerializableAttribute> _
<TypeConverterAttribute(GetType(GraphNodeIdConverter))> _
Public Class GraphNodeId _
    Implements IEquatable(Of GraphNodeId), IComparable(Of GraphNodeId),  _
    IComparable
[SerializableAttribute]
[TypeConverterAttribute(typeof(GraphNodeIdConverter))]
public class GraphNodeId : IEquatable<GraphNodeId>, 
    IComparable<GraphNodeId>, IComparable
[SerializableAttribute]
[TypeConverterAttribute(typeof(GraphNodeIdConverter))]
public ref class GraphNodeId : IEquatable<GraphNodeId^>, 
    IComparable<GraphNodeId^>, IComparable
[<SerializableAttribute>]
[<TypeConverterAttribute(typeof(GraphNodeIdConverter))>]
type GraphNodeId =  
    class
        interface IEquatable<GraphNodeId>
        interface IComparable<GraphNodeId>
        interface IComparable
    end
public class GraphNodeId implements IEquatable<GraphNodeId>, IComparable<GraphNodeId>, IComparable

GraphNodeId 类型公开以下成员。

属性

  名称 说明
公共属性静态成员 Empty
公共属性 LiteralValue 获取 GraphNodeId 的文本值。如果GraphNodeIdName是文本,使用名称;否则ToString的委托。
公共属性 Name GraphNodeIdName。
公共属性 Value GraphNodeId的值。这是一:* string * URI * GraphNodeId * GraphNodeIdCollection。

页首

方法

  名称 说明
公共方法 Add 添加 GraphNodeId。如果该标识符已经是一个数组,则将项添加到数组。否则,新嵌入数组返回。
公共方法 AppendToString 追加 GraphNodeId “ToString”到 StringBuilder。因为GraphNodeId可以重用StringBuilder,这比调用ToString有效。
公共方法 CompareTo(Object) 与另一GraphNodeId比较。
公共方法 CompareTo(GraphNodeId) 与另一GraphNodeId比较。
公共方法 Equals 请参见本GraphNodeId是否满足GraphNodeId或GraphNodeIdKey。 (重写 Object.Equals(Object)。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法静态成员 GetArray(GraphNodeIdName, array<GraphNodeId[]) 构造基于给定的数组名称和标识符的部分GraphNodeId。
公共方法静态成员 GetArray(GraphNodeIdName, Object) 基于名称和数值获取 GraphNodeId。针对字典进行查找,以将 GraphNodeIds 的数量减到最小。
公共方法 GetHashCode 获取HashCode。构造过程中,我们返回向我们提供的哈希代码。 (重写 Object.GetHashCode()。)
公共方法静态成员 GetLiteral 从给定标识符字符串获取文本GraphNodeId分析。
公共方法静态成员 GetNested(array<GraphNodeId[]) 获取嵌套GraphNodeId根据给定标识符。针对字典进行查找,以将 GraphNodeIds 的数量减到最小。
公共方法静态成员 GetNested(GraphNodeIdName, Object) 获取GraphNodeId根据名称和值。针对字典进行查找,以将 GraphNodeIds 的数量减到最小。
公共方法 GetNestedIdByName 从与该名称的第一个嵌入GraphNodeId获取值。
公共方法 GetNestedValueByName<T> 从与该名称的第一个嵌入GraphNodeId获取值。
公共方法静态成员 GetPartial 根据名称和数值获取局部 GraphNodeId。针对字典进行查找,以将 GraphNodeIds 的数量减到最小。通常不是让部分GraphNodeId并不为节点ID.使用该 始终使用完全的嵌套GraphNodeId。
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 GetValue<T> GraphNodeId的值。这是一:* string * URI * GraphNodeId * GraphNodeIdCollection。
公共方法静态成员 IsNullOrEmpty
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法静态成员 Parse(String) 将字符串分析为GraphNodeId。
公共方法静态成员 Parse(String, Boolean) 将字符串分析为GraphNodeId。
公共方法静态成员 Parse(String, Boolean, GraphNodeId})
公共方法 RemovedNestedNames 返回包含特定GraphNodeIdName的部分GraphNodeId。
公共方法 ToString 获取GraphNodeId的字符串。 (重写 Object.ToString()。)

页首

运算符

  名称 说明
公共运算符静态成员 Addition + 运算符添加了两个 GraphNodeIds。如果任一 GraphNodeId 均已包含一个数组,则向该数组添加该项。否则,新嵌入数组返回。
公共运算符静态成员 Equality ==运算符比较两GraphNodeIds并返回其是否相等。添加的第一GraphNodeId。添加的第二GraphNodeId。True,则GraphNodeIds相等;错误否则
公共运算符静态成员 Inequality ! =运算符比较两GraphNodeIds并返回其是否相等。添加的第一GraphNodeId。添加的第二GraphNodeId。False,则GraphNodeId相等;否则为true

页首

显式接口实现

  名称 说明
显式接口实现私有方法 IEquatable<GraphNodeId>.Equals

页首

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.VisualStudio.GraphModel 命名空间