使用字符串的内容作为语句

本文关键字:语句 字符串 | 更新日期: 2023-09-27 18:35:13

我想使用字符串的内容作为语句,例如:

string exampleString = "exampleStatement";
exampleString.exampleMethod();

在我的实际程序中使用它如下

XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
string field = "PublishDate";

foreach (SyndicationItem item in feed.Items)
{
    data = item.field.ToString();
}
 return data;

这可能做到吗?

使用字符串的内容作为语句

您可以使用反射

item.GetType().GetProperty(field).GetValue(item).ToString();

(或GetField()而不是GetProperty()如果...这是一个领域)

这并不像在 ecmascript 中那样微不足道。最简单的选项是反射,例如:

data = item.GetType().GetProperty(field).GetValue(item).ToString();

但是:根据所涉及的 API,可能还有其他涉及索引器等的选项可用。 请注意,反射比常规成员访问慢 - 如果在使用率非常高的情况下执行此操作,则可能需要更优化的实现。不过,它(反射)通常足够快,可以轻度到中度使用。