Посмотрите на приведенный ниже код
private static List<ExpandoObject> GetDBDetails()
{
var directoryPath = Environment.CurrentDirectory.Replace("\\bin\\Debug", "\\DataSource");
var filePath = Path.Combine(directoryPath, "DBDetail.xml");
try
{
//Load xml
XDocument xdoc = XDocument.Load(filePath);
if (xdoc == null) return null;
List<ExpandoObject> dbDetails = (from dbDetail in xdoc.Descendants("database")
select new ExpandoObject
{
DBDetailId = Convert.ToInt32(dbDetail.Attribute("dbDetailId").Value),
DBServerId = Convert.ToInt32(dbDetail.Attribute("dbServerID").Value)
});
return dbDetails;
}
catch (Exception ex)
{
McAfee.EnterpriseLibrary.Logging.LogUtil.LogEntry(ex, System.Diagnostics.TraceEventType.Critical);
return null;
}
}
я получаю сообщение об ошибке
System.Dynamic.ExpandoObject не содержит определения для DBDetailId System.Dynamic.ExpandoObject не содержит определения для DBServerId
Как это исправить?
ExpandoObject
и не создаете новый класс, такой как «DbDetails, for this specific purpose? The Intellisense won't work outside of this method and passing around
dynamic», также не является хорошей идеей. - person Dominic Zukiewicz   schedule 08.05.2013