나는 정의 :은
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
오전 : 나는이 사용자 정의 "MyTestProp"를 포함하는 클래스를 직렬화 할 때
[RdfSerializable]
public class SomeItem
{
// Unique identificator of the resource
[ResourceUri]
public string ID { get; set; }
[RdfProperty(true)]
public string SomeData { get; set; }
}
and in some other class:
[RdfProperty(true)]
public SomeItem[] MyTestProp
{
get
{
return new SomeItem[] { new SomeItem() { ID="1", SomeData="test1" }, new SomeItem() { ID="2", SomeData = "test2" } };
}
}
가 나에게 그 메시지를 준 그 속성을 정의하는 것이 잘못되었거나 배열을 사용자 정의 클래스로 정의하는 특별한 방법이 있습니까? 배열을 예를 들어 string에 직렬화하는 것은 그런 식으로 충돌을 일으키지 않지만 작동하는 것에 유의하십시오.
전체 소스 :
using System;
using NC3A.SI.Rowlex;
[assembly: Ontology("ROWLEXtest1", "http://www.test.com/MyOntology")]
namespace ROWLEXtest1
{
[RdfSerializable(HasResourceUri=false)]
public class Item
{
[RdfProperty(true)]
public string MyProp;
}
[RdfSerializable]
public class AllItems
{
[RdfProperty(true)] public string mTitle;
private int id = new Random().Next(0, 20);
[ResourceUri]
public string ResourceUri
{
get { return "This " + id.ToString(); }
}
[RdfProperty(false)]
public Item[] Items;
}
class Program
{
static void Main(string[] args)
{
var item = new AllItems();
item.mTitle = "Hello World!";
item.Items = new Item[] { new Item(){ MyProp = "test1" }, new Item(){ MyProp = "test2" } };
var doc = Rdfizer.Serialize(item);
System.Console.Out.Write(doc.ToString());
}
}
}
예외입니다 : 당신이 무슨 짓을
System.NullReferenceException was unhandled Message="Object reference not set to an instance of an object." Source="NC3A.SI.Rowlex" StackTrace: at NC3A.SI.Rowlex.RdfPropertyAttribute.ExtractRange(MemberInfo memberInfo, Int32& minCardinality, Int32& maxCardinality) at NC3A.SI.Rowlex.RdfPropertyAttribute.ExtractRange(MemberInfo memberInfo) at NC3A.SI.Rowlex.Rdfizer.AppendProperty(RdfDocument doc, MemberInfo memberInfo, RdfPropertyAttribute attribute, Object item, String resourceUri) at NC3A.SI.Rowlex.Rdfizer.AppendSingleRdfSerializableObject(RdfDocument doc, Object item) at NC3A.SI.Rowlex.Rdfizer.ProcessItem(RdfDocument doc, Object item, String[] rangeTypeUris) at NC3A.SI.Rowlex.Rdfizer.ExecuteSerialization(IEnumerable objects) at NC3A.SI.Rowlex.Rdfizer.Serialize(IEnumerable objects, Boolean tolerateUnserializebleObjects) at NC3A.SI.Rowlex.Rdfizer.Serialize(Object item) at ROWLEXtest1.Program.Main(String[] args) in C:\ROWLEXtest1\ROWLEXtest1\Program.cs:line 40 at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() InnerException:
나는 전체 소스와 예외 정보를 추가했습니다. 문제를 조사하는 데 도움이되기를 바랍니다. –