Бөлісу құралы:


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 передается по значению (ByVal в Visual Basic), необходимо применить к нему один из следующих атрибутов:

  • Примените атрибут, ReadOnlyArrayAttribute если вы планируете использовать содержимое массива только для входных данных.

  • WriteOnlyArrayAttribute Примените атрибут, если планируется использовать содержимое массива только для выходных данных (то есть метод задает содержимое массива, но не считывает их).

Применение обоих атрибутов к параметру приводит к ошибке. Дополнительные сведения, включая стандартный шаблон для внесения изменений в массив, см. в разделе Passing массивов в компонент среда выполнения Windows в Центре разработки Windows.

Это важно

Параметры, имеющие атрибут, ведут себя по-разному в зависимости от того, WriteOnlyArrayAttribute написан ли вызывающий объект в машинном коде или управляемом коде. Если вызывающий объект является машинным кодом (расширения компонентов JavaScript или Visual C++), вызывающий метод не может делать никаких предположений о содержимом исходного массива. Например, массив, получаемый методом, может не быть инициализирован или содержать значения по умолчанию. Ожидается, что метод задает значения всех элементов в массиве.

Если вызывающий объект является управляемым кодом, исходный массив вызывающего объекта передается вызывающему методу, так как он будет находиться в любом вызове метода в .NET Framework. Содержимое массива меняется в управляемом коде, поэтому метод может выборочно считывать и изменять эти значения. Это важно помнить, так как это влияет на модульные тесты, написанные для компонента среда выполнения Windows. Если тесты записываются в управляемом коде, содержимое массива будет изменяться во время тестирования, и результаты, скорее всего, будут отличаться, если метод вызывается из машинного кода позже.

Применение этого атрибута к параметру или к параметру, который имеет InAttribute атрибут, приводит к out ошибке при экспорте модуля. Применение атрибута к параметру с атрибутом 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)

Применяется к

См. также раздел