错误 1 “object”不包含“Text”的定义,并且找不到可接受类型为“object”的第一
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误 1 “object”不包含“Text”的定义,并且找不到可接受类型为“object”的第一相关的知识,希望对你有一定的参考价值。
回答这是Label,TextBox类型,object需要拆箱操作。object作为父类不可能直接使用子类的属性。在变量声明中将object改成对应的Label和TextBox,然后在Click事件中可以直接使用属性直接赋值。一直说C#是强类型语言,通俗地讲,便是指C#中的“变量”在开发时的类型便是明确的:String便是String,Int32就是Int32,毫无争议。
参考技术A 将Text去掉试试object' 不包含动态数据的 MainTypeCode 定义
【中文标题】object\' 不包含动态数据的 MainTypeCode 定义【英文标题】:object' does not contain a definition for MainTypeCode for dynamic dataobject' 不包含动态数据的 MainTypeCode 定义 【发布时间】:2018-05-28 13:16:56 【问题描述】:以下查询返回一些用于单元测试的模拟数据。
var colorsList = (IEnumerable<dynamic>)colorsRepository.GetColorsList().Result;
它以动态对象的形式给出结果
我只想获得MainTypeCode
值。但它显示 object' 不包含 MainTypeCode 的定义
colorsList.Select(cl => (dynamic)cl.MainTypeCode);
编辑:
让我知道如何安排虚拟/模拟动态数据来执行查询?
并且colorsRepository.GetColorsList().Result;
正在返回下方。我应该更改模拟数据以运行查询吗?
public static IEnumerable<dynamic> GetColorsList()
List<dynamic> colours = new List<dynamic>();
for (int i = 0; i < 1; i++)
colours.Add((dynamic)new
MainTypeCode = 1,
DoorCode = "001"
);
return colours.AsEnumerable();
【问题讨论】:
你不应该使用Task.Result
。使用await colorsRepository.GetColorsList()
或colorsRepository.GetColorsList().GetAwaiter().GetResult()
你们能告诉我吗。如何为该查询安排一个虚拟数据?
@如何为这个GetColorsList()
方法设置模拟数据?
我认为您必须使用反射才能获得动态属性。
如果colorsList
真的是IEnumerable<dynamic>
- colorsList.Select(cl => cl.MainTypeCode)
应该可以正常工作并且不会产生任何编译时错误。
【参考方案1】:
遗憾的是,我有很多时间来阐述更好的答案,但您必须使用反射才能获得动态属性。
如果你事先知道动态属性,你可以尝试做一个类并创建一个带有反射的 Map 方法来获取对象。
【讨论】:
【参考方案2】:我猜,这个问题可能与动态有关。您可以尝试以下方法吗?
var colorLists = new [] new DoorCode = "001", MainTypeCode = 1, new DoorCode = "002", MainTypeCode = 2;
var mainTypeCodes = colorLists.Select(cl => cl.GetType().GetProperty("MainTypeCode").GetValue(cl, null));
Get value of c# dynamic property via string
【讨论】:
你的模拟数据应该可以用于这个查询,你能试试吗? 我想为我的查询设置一个模拟数据。我不想更改查询。对不起 啊好吧...所以你要做的是为它创建一个单元测试,而你目前正在模拟colorsRepository,GetColorsList方法? 我不太确定的一个是您如何注入模拟 colorRepository 对象,因为您的模型数据似乎可以被查询(并且您的原始查询也应该有效)。我现在想知道的是 colorRepository.GetColorLists().Result - 建议 GetColorLists() 应该返回一个任务 - 但话又说回来,你不能走那么远来获得异常 让我们continue this discussion in chat.以上是关于错误 1 “object”不包含“Text”的定义,并且找不到可接受类型为“object”的第一的主要内容,如果未能解决你的问题,请参考以下文章
'Newtonsoft.Json.Linq.JObject'不包含'status'错误的定义
(项目名称).MainWindow不包含(名称)_TextChanged的定义
Qt C++ Q_OBJECT 错误未定义对 vtable 的引用
text 错误:未捕获(在承诺中):TypeError:Object(...)不是函数
React Navigation + TypeScript 错误:类型“EventStackParams”不满足约束“Record<string, object |未定义>'