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 매개 변수가 개체의 관리형 표현으로 래핑됩니다.
런타임은 네이티브 개체에 대한 참조를 사용하고 개체에 대한 마지막 관리되는 참조가 사라질 때까지 참조를 유지하며 GC가 실행될 기회가 있습니다.
경우에 따라 C# 런타임에서 네이티브 개체에 대한 참조를 유지하지 않는 것이 중요합니다. 이 문제는 기본 네이티브 코드가 매개 변수의 수명 주기에 특별한 동작을 연결한 경우에 발생합니다. 예를 들어 매개 변수의 소멸자는 일부 정리 작업을 수행하거나 일부 귀중한 리소스를 삭제합니다.
이 특성은 덮어쓴 메서드에서 Objective-C로 돌아갈 때 가능하면 개체를 삭제할 것을 런타임에 알릴 수 있습니다.
규칙은 간단합니다. 런타임이 네이티브 개체에서 새 관리 표현을 만들어야 하는 경우 함수의 끝에 네이티브 개체의 보존 수가 삭제되고 관리되는 개체의 Handle 속성이 지워집니다. 즉, 관리되는 개체에 대한 참조를 유지하면 해당 참조가 쓸모가 없게 됩니다(메서드를 호출하면 예외가 throw됨).
전달된 개체가 만들어지지 않았거나 개체의 관리되는 미해결 표현이 이미 있는 경우 강제 삭제가 수행되지 않습니다.
생성자
TransientAttribute() |
새 임시 특성을 초기화합니다. |