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
- Наследование
- Атрибуты
Комментарии
Если параметр массива в компоненте среда выполнения Windows передается по значению (ByVal
в Visual Basic), к нему необходимо применить один из следующих атрибутов:
Примените атрибут , 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) |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по