本文整理汇总了C#中Topic.Exist方法的典型用法代码示例。如果您正苦于以下问题:C# Topic.Exist方法的具体用法?C# Topic.Exist怎么用?C# Topic.Exist使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Topic
的用法示例。
在下文中一共展示了Topic.Exist方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Import
private static void Import(XElement xElement, Topic owner) {
if(xElement == null || owner == null || xElement.Attribute("n") == null) {
return;
}
Version ver;
Topic cur;
bool setVersion = false;
if(xElement.Attribute("ver") != null && Version.TryParse(xElement.Attribute("ver").Value, out ver)) {
if(owner.Exist(xElement.Attribute("n").Value, out cur)) {
Topic tVer;
Version oldVer;
if(!cur.Exist("$INF\version", out tVer) || tVer.vType != typeof(string) || !Version.TryParse(tVer.As<string>(), out oldVer) || oldVer < ver) {
setVersion = true;
cur.Remove();
} else {
return; // don't import older version
}
} else {
setVersion = true;
}
} else {
ver = default(Version);
}
cur = owner.Get(xElement.Attribute("n").Value);
foreach(var xNext in xElement.Elements("i")) {
Import(xNext, cur);
}
cur.SetFlagI(0, xElement.Attribute("s") != null && xElement.Attribute("s").Value != bool.FalseString);
if(xElement.Attribute("v") != null) {
try {
cur.SetJson(xElement.Attribute("v").Value);
}
catch(Exception ex) {
Log.Warning("Import({0}) - {1}\n{2}", cur.path, ex.Message, xElement.Attribute("v").Value);
}
}
if(setVersion) {
cur.Get("$INF\version").value = ver.ToString();
}
}