Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Types Ironpython获取dot net类的属性类型_Types_Ironpython - Fatal编程技术网

Types Ironpython获取dot net类的属性类型

Types Ironpython获取dot net类的属性类型,types,ironpython,Types,Ironpython,我想编写以下函数,它接受一个随机的Dot Net类,已知该类有一个名为Amount的属性,并返回该属性的Dot Net类型的一些指示Amount通常是可为空的类型,因此实例在创建时将以null(PythonNone)结束 def读入类型(测试类): ''给定的Dot Net类test_类,返回可为null的Amount属性的类型。'' 实例=测试类() 答案=类型(实例.金额)#始终为非类型 回覆 获取实例.Amount的类型指示的正确方法是什么 除了上面的代码,我还试着内省test\u cl

我想编写以下函数,它接受一个随机的Dot Net类,已知该类有一个名为
Amount
的属性,并返回该属性的Dot Net类型的一些指示
Amount
通常是可为空的类型,因此
实例
在创建时将以
null
(Python
None
)结束

def读入类型(测试类):
''给定的Dot Net类test_类,返回可为null的Amount属性的类型。''
实例=测试类()
答案=类型(实例.金额)#始终为非类型
回覆
获取
实例.Amount的类型指示的正确方法是什么

除了上面的代码,我还试着内省
test\u class.Amount
instance.Amount
。我能够获得
getset\u描述符
,但我也无法确定如何从该对象中提取类型指示符


这适用于某些ETL代码,其目标之一是将输入中遇到的错误数据类型通知调用程序。我的代码想知道遇到了什么,以及预期的类型。

您最好使用普通的.NET系统。反射API:

instance = test_class()
answer = instance.GetType().GetProperty("Amount").PropertyType

起点是,;所有的.NET类型元数据都可以从那里获得。

您打算如何处理类型信息?您希望如何处理该信息?您对.NET类型或等效的基本python类型感兴趣吗?我的目标有两个——为合理数量的常见类型执行合理的类型转换,并向调用程序提供有关无法分配的属性的信息(包括类型)。我必须为可为空的类型做一些额外的工作,但这一切都很顺利。