我想寫下面的函數,它需要一個隨機的DotNet類,該類已知具有一個名爲Amount
的屬性,並返回該屬性的Dot Net類型的一些指示。 Amount
通常是可空類型,因此instance
將在創建時以null
(Python None
)結束。Ironpython得到dot網類的屬性
def learn_type(test_class):
'''Given Dot Net class test_class, return the type of the nullable Amount property.'''
instance = test_class()
answer = type(instance.Amount) # always NoneType
return answer
什麼是正確的方式來獲得instance.Amount
類型的指示?
除了上面的代碼,我已經嘗試反思test_class.Amount
和instance.Amount
。我能夠獲得getset_descriptor
,但我無法確定如何從該對象中提取類型指示符。
這是針對某些ETL代碼的,其目標之一是通知調用程序輸入中遇到的錯誤數據類型。我的代碼想知道遇到了什麼,以及期望的類型。
你想對類型信息做什麼?你想如何處理信息?你對.NET類型或等價的原始python類型感興趣嗎? –
我的目標是雙重的 - 爲合理數量的常見類型執行明智的類型轉換,併爲調用程序提供關於我無法分配的屬性的信息(包括類型)。 –