本文整理汇总了C#中QualifiedName.ChangeLocalName方法的典型用法代码示例。如果您正苦于以下问题:C# QualifiedName.ChangeLocalName方法的具体用法?C# QualifiedName.ChangeLocalName怎么用?C# QualifiedName.ChangeLocalName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QualifiedName
的用法示例。
在下文中一共展示了QualifiedName.ChangeLocalName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindProperty
public PropertyDefinition FindProperty(PropertyTreeDefinition definition,
Type componentType,
QualifiedName qn,
IEnumerable<PropertyTreeDefinition> ancestors)
{
// Allow any namespace contained in the definition base classes
var result = definition
.EnumerateProperties()
.FirstOrDefault(t => Compare(t, qn, definition));
if (result != null)
return result;
int dot = qn.LocalName.IndexOf('.');
if (dot > 0) {
// TODO Index whether the PTD has extenders so we can skip some ancestors (perf)
string prefix = qn.LocalName.Substring(0, dot);
foreach (var currentDef in ancestors) {
if (currentDef.Name == prefix) {
// TODO Local name could be different
var prop = currentDef.GetProperty(qn);
if (prop != null) {
return prop;
}
}
}
} else {
foreach (var curDefinition in ancestors) {
var prop = curDefinition.GetProperty(qn);
if (IsValidExtender(prop, componentType))
return prop;
var qn2 = qn.ChangeLocalName(curDefinition.Name + "." + qn.LocalName);
prop = curDefinition.GetProperty(qn2);
if (IsValidExtender(prop, componentType))
return prop;
}
}
return null;
}
示例2: SelectNames
IEnumerable<QualifiedName> SelectNames(QualifiedName qn)
{
IEnumerable<string> names = this.Name.Split(
new [] {
' ', ',', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
return names.Select(t => qn.ChangeLocalName(t));
}