在C#中如何在一个文件中引用另一个文件的动态列表
时间: 2024-09-11 21:02:29 浏览: 18
在C#中,如果要在一个文件中引用另一个文件里的动态列表,通常你会使用`List<T>`或其他集合类型的实例,并通过序列化机制来读取和存储数据。这里以XML文件为例,因为它是常见的数据持久化方式:
首先,在需要引用列表的文件中,比如FileA.cs,你可以声明一个`List<T>`对象:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
public class FileA
{
public List<MyObject> MyDynamicList = new List<MyObject>(); // 这里MyObject是你自定义的数据类型
}
```
然后,在另一个文件,如FileB.cs,假设你想从一个名为Items.xml的XML文件加载这个列表,你可以这样做:
```csharp
using System.Xml.Serialization;
[XmlRoot("Items")]
public class ItemsContainer
{
[XmlElement("Item")]
public List<MyObject> ItemList { get; set; }
}
public static void LoadListFromFile(string filePath)
{
using (var reader = new StreamReader(filePath))
{
var serializer = new XmlSerializer(typeof(ItemsContainer));
ItemsContainer items = (ItemsContainer)serializer.Deserialize(reader);
FileA.MyDynamicList.AddRange(items.ItemList); // 将XML列表添加到FileA的列表中
}
}
```
当你需要更新或访问这个列表时,可以调用`LoadListFromFile`函数,传入XML文件路径。