TransientAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 NSObject 子類別中的參數標示為暫時性。
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false)]
public sealed class TransientAttribute : Attribute
type TransientAttribute = class
inherit Attribute
- 繼承
-
TransientAttribute
- 屬性
備註
這個屬性會套用至參數,而且只有在從 Objective-C 轉換至 C# 時才使用。 在這些轉換期間,各種 Objective-C NSObjects 參數會包裝成 物件的 Managed 標記法。
執行時間會取得原生物件的參考,並保留參考,直到物件的最後一個 Managed 參考消失,而且 GC 有機會執行。
在少數情況下,C# 執行時間務必不要保留原生物件的參考。 當基礎機器碼已將特殊行為附加至 參數的生命週期時,就會發生這種情況。 例如:參數的解構函式會執行一些清除動作,或處置一些寶貴的資源。
這個屬性會通知執行時間,您希望盡可能從覆寫的方法傳回 Objective-C 時處置物件。
規則很簡單:如果執行時間必須從原生物件建立新的 Managed 標記法,則函式結尾會卸載原生物件的保留計數,並清除 Managed 物件的 Handle 屬性。 這表示如果您保留 Managed 物件的參考,該參考將會變成無用的 (叫用方法時,它會擲回例外狀況) 。
如果未建立傳遞的物件,或物件已經有未完成的 Managed 標記法,則不會進行強制處置。
建構函式
TransientAttribute() |
初始化新的暫時性屬性。 |