从其他应用程序访问对象的实例

时间:2014-03-01 14:52:44

标签: c# .net oop c#-4.0

我正在开发一个程序,我必须阅读几个excel文件来填充复杂类对象的实例。它有许多不同类型的方法和属性,从项目中其他自定义类的对象的双列到嵌套列表。有没有办法存储我创建的实例以供将来参考?我想在不同的项目中使用该特定实例,而无需再次读取所有excel文件。

例如,让我的班级为Book.cs

public class Book
{      
     public string title; 
     public string author;
     public string publisher;
     public int publishYear;
     public int pages;
     public LibraryRef refInfo;  //another custom class with properties.
}

还有一种方法可以读取excel文件并设置上面的属性。然后在Main中创建一个Book类的实例。

Book b = new Book();
b.ReadExcelFile("excelFile"); //sets the properties of the instance.

我希望能够随时随地访问其他项目的b属性值。

1 个答案:

答案 0 :(得分:0)

您可以在项目运行时为项目实现内存中共享缓存,如果它来自同一应用程序中的另一个模块,则访问缓存对象。

由于它是一个不同的应用程序,因此不会有共享内存。因此,避免解析excel文件的最佳方法是将对象序列化为文件(在公共文件位置中)并将其反序列化。如果您不热衷于使用文件系统,也可以使用azure blob存储。

请参见用于序列化和反序列化的二进制格式化程序用法。 http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter(v=vs.110).aspx