c# - 是否可以重载 C# 动态类型属性解析?

标签 c# dynamic

是否可以重载类型在转换为动态时解析属性的方式?

基本上,我想做的是类似 ExpandoObject 的东西,您可以在其中动态访问新属性,但这些属性不是分配给它们的任何属性,我希望它们全部都是集合字符串,当您访问一个字符串时,它会调用一个字典 Web 服务,该服务返回该单词的所有定义。我希望它是动态的,以便您可以指定任何单词。

我认为用法会是这样的:

dynamic dictionary = new DictionaryWebservice();
var awesome = dictionary.awesome;

foreach(var definition in awesome)
{
    // add definition to my output
}

这可能吗?

最佳答案

是的,从 System.Dynamic.DynamicObject 派生您的类型.

请记住,从动态方法返回的所有内容本身都是动态。因此,即使 foreach 中的 var 定义 也将是 dynamic 类型。

关于c# - 是否可以重载 C# 动态类型属性解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669520/

相关文章:

c# - 给定用户的 SID,我如何获得他们的 userPrincipalName?

c# - MVC RadiobuttonFor Razor 如何使标签可点击?

dynamic - 以编程方式在支持 bean 中创建和添加复合组件

c# - 当我尝试使用 DynamicMethod 创建始终返回 true 的方法时出现错误

c# - 如何在统一中动态创建网格

c# - 服务器无法在发送 HTTP header 后附加 header

c# - 安全地迭代一个可以在另一个线程中更改的数组

c# - 通过 |DataDirectory| 在另一台计算机中的 SQL 数据库连接失败

java - 双向无限/动态 ViewPager

sql - sp_MSForEachDB 在函数内无效使用副作用运算符