GraphNodeId 类
GraphNodeId 是名称/值对,如“a=b”。 此标识符 (“a”)。GraphNodeIdName 表示称为“名称”和右侧,“a b”是“值”部分的左侧部分。GraphNodeId 的值部件可以是下列值之一:*字符串* 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 的存储过程,使用运算符 ==,它们可以进行比较。
继承层次结构
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 的值。这是一:*字符串* 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 的值。这是一:*字符串* URI * GraphNodeId * GraphNodeIdCollection。 |
![]() ![]() |
IsNullOrEmpty | |
![]() |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
![]() ![]() |
Parse(String) | 分析字符串到 GraphNodeId。 |
![]() ![]() |
Parse(String, Boolean) | 分析字符串到 GraphNodeId。 |
![]() ![]() |
Parse(String, Boolean, Func<Int32, GraphNodeId>) | 分析成 GraphNodeId 的字符串 |
![]() |
RemovedNestedNames | 返回包含特定 GraphNodeIdName 的部分 GraphNodeId。 |
![]() |
ToString | 获取 GraphNodeId 的一个字符串。 (重写 Object.ToString。) |
页首
运算符
名称 | 说明 | |
---|---|---|
![]() ![]() |
Addition | + 运算符添加了两个 GraphNodeIds。如果任一 GraphNodeId 均已包含一个数组,则向该数组添加该项。否则,新嵌入数组返回。 |
![]() ![]() |
Equality | == 运算符比较两 GraphNodeIds 并返回其是否相等。添加的第一 GraphNodeId。添加的第二 GraphNodeId。如果 GraphNodeIds 相等,则为 true;错误否则 |
![]() ![]() |
Inequality | ! = 运算符比较两 GraphNodeIds 并返回其是否相等。添加的第一 GraphNodeId。添加的第二 GraphNodeId。错误,如果 GraphNodeId 相等;否则为 true |
页首
显式接口实现
名称 | 说明 | |
---|---|---|
![]() ![]() |
IEquatable<GraphNodeId>.Equals |
页首
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。