我有两个名为Parent
和Child
的课程。 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);
}
答案 0 :(得分:0)
不可能将相同的引用对象传递给不同的计算机,因为它们不会在相同的内存空间中运行,因此即使您可以使用这些引用也没有任何用处。但是,你可以做的是序列化对象图和&在另一端重新构建对象 - 这通常称为对象序列化,或者通常只是序列化。
.NET Framework具有各种内置序列化程序,允许不同类型的序列化,例如