共用方式為


TransientAttribute 類別

定義

將 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()

初始化新的暫時性屬性。

適用於