本文整理汇总了C#中IVertexType.IsDescendantOrSelf方法的典型用法代码示例。如果您正苦于以下问题:C# IVertexType.IsDescendantOrSelf方法的具体用法?C# IVertexType.IsDescendantOrSelf怎么用?C# IVertexType.IsDescendantOrSelf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IVertexType
的用法示例。
在下文中一共展示了IVertexType.IsDescendantOrSelf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetIndices
public IEnumerable<ISonesIndex> GetIndices(IVertexType myVertexType, IList<IPropertyDefinition> myPropertyDefinition, SecurityToken mySecurityToken, Int64 myTransactionToken)
{
myVertexType.CheckNull("myVertexType");
myPropertyDefinition.CheckNull("myPropertyDefinition");
if (myPropertyDefinition.Count == 0)
throw new ArgumentOutOfRangeException("myPropertyDefinition", "At least one property must be given.");
var propertyTypes = myPropertyDefinition.GroupBy(_ => _.RelatedType);
foreach (var group in propertyTypes)
{
if (!myVertexType.IsDescendantOrSelf(group.Key))
{
throw new ArgumentException(string.Format("The properties ({0}) defined on type {1} is not part of inheritance hierarchy of {2}.",
string.Join(",", group.Select(_ => _.Name)),
group.Key.Name,
myVertexType.Name));
}
}
var result = myVertexType.GetIndexDefinitions(false).Where(_ => myPropertyDefinition.SequenceEqual(_.IndexedProperties)).Select(_=>_indices[_.ID]).ToArray();
return result;
}