C# - 动态生成的类?

fon*_*232 2 c# class dynamic

我需要在C#中创建一个动态可扩展的类.目标是创建一个类,其中包含来自Android SQLite Contacts表的给定联系人的所有信息.该表的结构有点奇怪,因为它没有设置字段名称,但使用"字段名称"和"字段内容"的列.

这就是我想要变成一个可用的格式,其中代码读取数据库,并为每个条目创建匹配的子变量.这样我想知道最好的方法(我想这很简单

{
    this.(variableNames[i].ToString()) = variableContent[i];
}
Run Code Online (Sandbox Code Playgroud)

不会这样做的,什么是最少的资源,但最快(和最简单)的方式.

而且,如果我们在这里,是否有任何方法来调用类型(比方说,我创建一个新的联系人与电子邮件,工作场所,名称和图像标签,但这些变量名称'未知)所有子变量(动态联系.image,Contact.FirstName,Contact.Email等)?

当然,所有联系人都应该有标准化字段(三个名称中的一个,电话号码,电子邮件@work和@home等),但这些也应该动态调用.

Rei*_*ica 5

Dictionary<string,string>改用.

Dictionary<string,string> contactInfo = new Dictionary<string,string>();

public void ImportContact()
{
    ...
    // for each fieldName and fieldValue from your table
    contactInfo.Add(fieldName, fieldValue);
    ...
    // check that all standard fields are present, if desired
}

public string FirstName
{
    get { return contactInfo["FirstName"]; }
}
Run Code Online (Sandbox Code Playgroud)