对象引用问题

时间:2013-01-09 09:13:14

标签: c# object reference null

我有两个名为ParentChild的课程。 Parent类包含对Child类的引用。当我创建Parent类的实例时,我将传递Child对象的实例。

据我所知,我们将此Child实例作为参考传递。然后我将此Parent对象缓存在外部缓存中。然后我从另一个系统中检索这个对象。我认为在该系统中,Child对象的实例可能不存在。

根据理论'_child'包含堆中对象的引用而不是实际对象我是对的吗?

想想在服务器场方案中,您的对象实例应该可供其他系统使用,系统一旦生成该对象

public class Parent
{
    public Child _child = null;

    public Parent(Child c)
    {
        _child=c;   
    }
}

public class Child
{
    public string Name;
}

static void Main()
{
    Child c = new Child();
    c.Name="vivek";
    Parent p = Parent(c);
    string key = ExternalCache.Add(p);
}

现在,如果我尝试在另一个系统或应用程序中检索此Parent对象,会发生什么?

static void Main()
{
   Parent p = (Parent)ExternalCache.Get(Key)
   Console.WriteLine(p._child.Name);
}

1 个答案:

答案 0 :(得分:0)

不可能将相同的引用对象传递给不同的计算机,因为它们不会在相同的内存空间中运行,因此即使您可以使用这些引用也没有任何用处。但是,你可以做的是序列化对象图和&在另一端重新构建对象 - 这通常称为对象序列化,或者通常只是序列化

.NET Framework具有各种内置序列化程序,允许不同类型的序列化,例如