Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以重载C#动态类型属性解析?_C#_Dynamic - Fatal编程技术网

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

是否可以重载C#动态类型属性解析?,c#,dynamic,C#,Dynamic,在强制转换为动态时,是否可能重载类型解析属性的方式 基本上我想做的是像ExpandoObject这样的东西,你可以动态地访问新的属性,但是这些属性不是分配给它们的任何属性,我希望它们都是字符串的集合,当你访问一个,它调用字典web服务,该服务返回单词的所有定义。我希望它是动态的,以便您可以指定任何单词 我想用法应该是这样的: dynamic dictionary = new DictionaryWebservice(); var awesome = dictionary.awesome; fo

在强制转换为动态时,是否可能重载类型解析属性的方式

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

我想用法应该是这样的:

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

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

这可能吗?

是的,从中派生您的类型

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