在我的ASP.NET网站中,我有一个返回dynamic
类型值的方法。根据特定的条件和结果,此方法将返回布尔值或SortedList。
要粘贴的代码太多,但例如:
public dynamic ReturnThis(dynamic value)
{
if(someConditionIsMet)
{
value = true;
}
else
{
value = new List<String>().Add(new Person() { Name = "Travis" });
}
return value;
}
字符串
我的问题是,我想在调用这个方法之后确定datatype
的值,然后再操作或阅读它的数据。但我不确定如何检查dynamic value
是什么类型。我该怎么办?
5条答案
按热度按时间1sbrub3j1#
这两种解决方案对我都有效。在Smeegs链接到的文档中,提到了
is
关键字。于是我想出了一个更好读的解决方案:if(value is Boolean) { }
和if(value is List<Person>) { }
工作测试:
字符串
enxuqcxy2#
只要在另一个SO问题上阅读这篇文章......希望它能为你做点什么:
字符串
阅读并支持此问题以获取更多信息:get the Type for a object declared dynamic
9q78igpj3#
您应该可以使用
GetType()
。就像这样:字符串
Here is some more information on
GetType()
yqhsw0fo4#
字符串
工作刚刚好!
hivapdat5#
给定一个动态类型:
字符串
通过
dynVar.GetType()
执行Type-Reflection 时,仅声明、未初始化的dynamic
变量dynVar
将抛出TypeMicrosoft.CSharp.RuntimeBinder.RuntimeBinderException的异常,因为您正在执行运行时绑定空引用。型
型
型