我在Stacking時找到了這個問題,但它已被刪除。所以我再次列出這個問題。什麼時候ParameterInfo.IsLcid或ParameterInfo.IsRetval爲true?
因爲我在BCL中找不到LcidAttribute
或RetvalAttribute
,我猜C#沒有提供對區域標識符參數和返回值參數的支持。
是嗎?
謝謝大家。
我在Stacking時找到了這個問題,但它已被刪除。所以我再次列出這個問題。什麼時候ParameterInfo.IsLcid或ParameterInfo.IsRetval爲true?
因爲我在BCL中找不到LcidAttribute
或RetvalAttribute
,我猜C#沒有提供對區域標識符參數和返回值參數的支持。
是嗎?
謝謝大家。
它們與ParameterAttributes enumeration相關聯。在元數據中用於某個方法的參數,只有一個編譯器可以發出[modopt]。
我不知道一個編譯器實際上是這樣做的。我有一個不錯的背景猜測,但這些屬性也用於IDL。這是在COM和RPC中使用的接口描述語言。具有此選項可確保.NET元數據也可以描述用IDL編寫並可出現在類型庫中的聲明類型。
[lcid]屬性是described here。它實際上沒有描述使用情況,我從來沒有使用過它。沒有真正的想法,爲什麼你會使用它。
[retval]屬性是described here。在COM自動化方法聲明中非常重要,它標記返回方法值的參數。並且由Tlbimp.exe之類的工具使用,它會重寫該方法以使該參數成爲返回值類型。