0

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

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;

这可能吗?

4

2 回答 2

2

你可以使用反射

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

(或者GetField()代替GetProperty()if... 那是一个字段)

于 2013-10-11T22:45:00.127 回答
1

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

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

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

于 2013-10-11T22:45:37.170 回答