WriteOnlyArrayAttribute 클래스

정의

Windows 런타임 구성 요소의 배열 매개 변수에 적용할 때 해당 매개 변수에 전달되는 배열의 콘텐츠가 출력에만 사용되도록 지정합니다. 호출자는 콘텐츠가 초기화되었음을 보증하지 않으며, 호출된 메서드가 콘텐츠를 읽지 않아야 합니다.

public ref class WriteOnlyArrayAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)]
public sealed class WriteOnlyArrayAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Parameter, AllowMultiple=false, Inherited=false)>]
type WriteOnlyArrayAttribute = class
    inherit Attribute
Public NotInheritable Class WriteOnlyArrayAttribute
Inherits Attribute
상속
WriteOnlyArrayAttribute
특성

설명

Windows 런타임 구성 요소의 배열 매개 변수가 값(Visual Basic의 경우)ByVal으로 전달되는 경우 다음 특성 중 하나를 적용해야 합니다.

  • 배열의 ReadOnlyArrayAttribute 내용을 입력에만 사용하려는 경우 특성을 적용합니다.

  • 배열의 WriteOnlyArrayAttribute 내용을 출력에만 사용하려는 경우 특성을 적용합니다(즉, 메서드는 배열의 내용을 설정하지만 읽지 않음).

매개 변수에 두 특성을 모두 적용하면 오류가 발생합니다. 배열을 변경하는 표준 패턴을 비롯한 자세한 내용은 Windows 개발자 센터의 Windows 런타임 구성 요소에 배열 전달을 참조하세요.

중요

특성이 있는 매개 변수는 WriteOnlyArrayAttribute 호출자가 네이티브 코드 또는 관리 코드로 작성되었는지 여부에 따라 다르게 동작합니다. 호출자가 네이티브 코드(JavaScript 또는 Visual C++ 구성 요소 확장)인 경우 호출된 메서드는 원래 배열의 내용에 대해 어떠한 가정도 할 수 없습니다. 예를 들어 메서드가 받는 배열이 초기화되어 있지 않을 수도 있고 기본값을 포함할 수도 있습니다. 메서드는 배열에 있는 모든 요소의 값을 설정해야 합니다.

호출자가 관리 코드인 경우 호출자의 원래 배열은 .NET Framework 메서드 호출과 마찬가지로 호출된 메서드에 전달됩니다. 배열 콘텐츠는 관리 코드에서 변경할 수 있으므로 메서드는 이러한 값을 선택적으로 읽고 변경할 수 있습니다. 이는 Windows 런타임 구성 요소에 대해 작성된 단위 테스트에 영향을 주므로 기억해야 합니다. 테스트가 관리 코드로 작성된 경우 테스트 중에 배열의 내용이 변경 가능한 것으로 나타나며 나중에 네이티브 코드에서 메서드를 호출하면 결과가 다를 수 있습니다.

이 특성을 out 매개 변수 또는 특성이 있는 매개 변수에 InAttribute 적용하면 모듈을 내보낼 때 오류가 발생합니다. 특성을 가진 매개 변수에 특성을 적용하면 매개 변수 OutAttribute 에 Visual Basic ByRef 한정자가 없는 한 오류가 발생합니다. 이 경우 특성은 중복되지만 허용됩니다.

생성자

WriteOnlyArrayAttribute()

WriteOnlyArrayAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)

메서드

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

(다음에서 상속됨 Attribute)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보