c# - “对象”不包含动态的定义

标签 c# asp.net

我正在使用下面描述的方法。即返回动态结果。

public static dynamic GetCouponDetailsbyCouponID(Guid couponID)
        {
            using (var loEntities = new Entities())
            {
                dynamic nonWinnerGift = (from nw in loEntities.CorporateNonWinnerGift
                                         join um in loEntities.Users on nw.UserID equals um.Id
                                         where nw.IsDeleted != true && nw.CouponID == couponID
                                         select new
                                         {
                                             FullName = (um.FirstName + " " + um.LastName),
                                                 Title = nw.Title,
                                                 Description = nw.Description,
                                                 LogoName = nw.LogoName,
                                                 CouponID = nw.CouponID,
                                                 IsDiscount = nw.IsDiscount,
                                                 Discount = nw.Discount,
                                                 Desclaiemer = nw.Desclaiemer
                                             }).SingleOrDefault();    
                return nonWinnerGift;
            }
        }

 dynamic expandDoObject = new ExpandoObject();

当我尝试访问“couponData.LogoName”时抛出了动态运行时异常。请在下面找到我的异常(exception) “类型为‘Microsoft.CSharp.RuntimeBinder.RuntimeBinderException’的第一次机会异常发生在 ClosetAuctions.dll 中 enter image description here附加信息:'object' 不包含 'LogoName' 的定义”

                var couponData = CorporateNonWinnerGiftBL.GetCouponDetailsbyCouponID(couponID);

                if (couponData != null)
                {
                    string fileName = couponData.LogoName;
                }

最佳答案

不建议在您的用例中使用动态对象。但这是我的看法。

无论如何,要访问动态对象的成员,

string fileName = couponData.GetType().GetProperty("LogoName").GetValue(couponData, null);

关于c# - “对象”不包含动态的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348507/

相关文章:

asp.net - mvc3中如何实现URL重写?

javascript - 如何从 asp :textbox? 调用 javascript 函数

c# - 在 ShowDialog() 中禁用 Alt + F4

javascript - 使用 asp.net 复选框 oncheckchanged 事件隐藏一个 div

ASP Repeater 生成的 Javascript 数组未更新

asp.net - 谁应该负责对 Controller /域邮件服务/存储库进行分页?

c# - 指南、查询字符串和身份验证

c# - 匹配字符串之间有空格并连接具有重叠空格的模式

c# - ado.net 到 viewmodel 映射的自动映射器示例

c# - 如何在区域设置中显示 0 值的日期?