本文整理汇总了C#中N2.Persistence.Serialization.ReadingJournal.Error方法的典型用法代码示例。如果您正苦于以下问题:C# ReadingJournal.Error方法的具体用法?C# ReadingJournal.Error怎么用?C# ReadingJournal.Error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类N2.Persistence.Serialization.ReadingJournal
的用法示例。
在下文中一共展示了ReadingJournal.Error方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadMultipleValue
internal ContentDetail ReadMultipleValue(XPathNavigator navigator, ContentItem item, ReadingJournal journal, string name)
{
var multiDetail = ContentDetail.Multi(name);
foreach (XPathNavigator valueElement in EnumerateChildren(navigator))
{
switch (valueElement.GetAttribute("key", ""))
{
case ContentDetail.TypeKeys.BoolType:
multiDetail.BoolValue = (bool)Parse(valueElement.Value, typeof(bool));
break;
case ContentDetail.TypeKeys.DateTimeType:
multiDetail.DateTimeValue = (DateTime)Parse(valueElement.Value, typeof(DateTime));
break;
case ContentDetail.TypeKeys.DoubleType:
multiDetail.DoubleValue = (double)Parse(valueElement.Value, typeof(double));
break;
case ContentDetail.TypeKeys.IntType:
multiDetail.IntValue = (int)Parse(valueElement.Value, typeof(int));
break;
case ContentDetail.TypeKeys.LinkType:
SetLinkedItem(valueElement.Value, journal, (referencedItem) => multiDetail.LinkedItem = referencedItem);
break;
case ContentDetail.TypeKeys.MultiType:
journal.Error(new InvalidOperationException("Nested multi types not supported"));
break;
case ContentDetail.TypeKeys.ObjectType:
multiDetail.ObjectValue = Parse(valueElement.Value, typeof(object));
break;
case ContentDetail.TypeKeys.StringType:
multiDetail.StringValue = (string)PrepareStringDetail(item, name, valueElement.Value);
break;
}
}
return multiDetail;
}
示例2: Read
public virtual IImportRecord Read(XPathNavigator navigator)
{
if (navigator == null) throw new ArgumentNullException("navigator");
ReadingJournal journal = new ReadingJournal();
foreach (XPathNavigator itemElement in EnumerateChildren(navigator))
{
try
{
ContentItem item = ReadSingleItem(itemElement, journal);
journal.Report(item);
}
catch (DefinitionNotFoundException ex)
{
journal.Error(ex);
if (!ignoreMissingTypes)
throw;
}
}
return journal;
}
示例3: ReadMultipleValue
internal ContentDetail ReadMultipleValue(XPathNavigator navigator, ContentItem item, ReadingJournal journal, string name)
{
var multiDetail = ContentDetail.Multi(name);
foreach (XPathNavigator valueElement in EnumerateChildren(navigator))
{
switch (valueElement.GetAttribute("key", ""))
{
case ContentDetail.TypeKeys.BoolType:
multiDetail.BoolValue = (bool)Parse(valueElement.Value, typeof(bool));
break;
case ContentDetail.TypeKeys.DateTimeType:
multiDetail.DateTimeValue = (DateTime)Parse(valueElement.Value, typeof(DateTime));
break;
case ContentDetail.TypeKeys.DoubleType:
multiDetail.DoubleValue = (double)Parse(valueElement.Value, typeof(double));
break;
case ContentDetail.TypeKeys.IntType:
multiDetail.IntValue = (int)Parse(valueElement.Value, typeof(int));
break;
case ContentDetail.TypeKeys.LinkType:
SetLinkedItem(valueElement.Value, journal, (referencedItem) => multiDetail.LinkedItem = referencedItem, valueElement.GetAttribute("versionKey", ""));
break;
case ContentDetail.TypeKeys.MultiType:
journal.Error(new InvalidOperationException("Nested multi types not supported"));
break;
case ContentDetail.TypeKeys.ObjectType:
multiDetail.ObjectValue = Parse(valueElement.Value, typeof(object));
break;
case ContentDetail.TypeKeys.EnumType: /* TODO: May need special treatment here as well (see other TODO). */
case ContentDetail.TypeKeys.StringType:
Dictionary<string, string> attributes = GetAttributes(navigator);
multiDetail.StringValue = PrepareStringDetail(item, name, valueElement.Value, attributes.ContainsKey("encoded") && Convert.ToBoolean(attributes["encoded"]));
break;
default:
throw new Exception("Failed to read MultipleValue");
}
}
return multiDetail;
}