Прочитать на английском

Поделиться через


DataObject.SetData Метод

Определение

Добавляет объект в DataObject.

Перегрузки

SetData(Object)

Добавляет указанный объект в DataObject, используя тип объекта в качестве формата данных.

SetData(String, Object)

Добавляет указанный объект в DataObject, используя заданный формат.

SetData(Type, Object)

Добавляет указанный объект в DataObject, используя заданный тип в качестве формата.

SetData(String, Boolean, Object)

Добавляет указанный объект в DataObject в заданном формате и указывает возможность преобразования данных в другой формат.

SetData(Object)

Исходный код:
DataObject.cs
Исходный код:
DataObject.cs
Исходный код:
DataObject.cs

Добавляет указанный объект в DataObject, используя тип объекта в качестве формата данных.

public virtual void SetData (object data);
public virtual void SetData (object? data);

Параметры

data
Object

Сохраняемые данные.

Реализации

Примеры

В следующем примере кода данные хранятся DataObjectв . Сначала создается новый DataObject объект и в нем сохраняется компонент. Затем данные извлекаются путем указания класса . Результат отображается в текстовом поле.

Для этого кода требуется, чтобы textBox1 он был создан.

private void AddMyData3() {
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Creates a new data object.
    DataObject myDataObject = new DataObject();
 
    // Adds the component to the DataObject.
    myDataObject.SetData(myComponent);
 
    // Prints whether data of the specified type is in the DataObject.
    Type myType = myComponent.GetType();
    if(myDataObject.GetDataPresent(myType))
       textBox1.Text = "Data of type " + myType.GetType().Name + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.GetType().Name +
       " is not present in the DataObject";
 }

Комментарии

Важно!

Вызов этого метода для ненадежных данных представляет угрозу безопасности. Вызывайте этот метод только для надежных данных. Дополнительные сведения см. в разделе Проверка всех входных данных.

Если вы не знаете формат целевого приложения, вы можете хранить данные в нескольких форматах с помощью этого метода. Данные, хранящиеся с помощью этого метода, можно преобразовать в совместимый формат при извлечении.

Перегрузка SetData(Object)data сохраняет значение в формате, который определяется путем Object.GetType вызова метода . Если data реализует ISerializable интерфейс , эта перегрузка также сохраняет значение в Serializable формате .

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

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

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

SetData(String, Object)

Исходный код:
DataObject.cs
Исходный код:
DataObject.cs
Исходный код:
DataObject.cs

Добавляет указанный объект в DataObject, используя заданный формат.

public virtual void SetData (string format, object data);
public virtual void SetData (string format, object? data);

Параметры

format
String

Формат, связанный с данными. Сведения о предварительно определенных форматах см. в разделе DataFormats.

data
Object

Сохраняемые данные.

Реализации

Примеры

В следующем примере кода данные хранятся DataObjectв , указывая его формат в формате Юникод.

Затем данные извлекаются путем указания текстового формата, так как по умолчанию используется преобразование данных, когда окончательный формат совместим. Результат отображается в текстовом поле.

Для этого кода требуется, чтобы textBox1 он был создан.

private void AddMyData() {
    // Creates a new data object using a string and the text format.
    DataObject myDataObject = new DataObject();
 
    // Stores a string, specifying the Unicode format.
    myDataObject.SetData(DataFormats.UnicodeText, "Text string");
 
    // Retrieves the data by specifying Text.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).GetType().Name;
 }

Комментарии

Важно!

Вызов этого метода для ненадежных данных представляет угрозу безопасности. Вызывайте этот метод только для надежных данных. Дополнительные сведения см. в разделе Проверка всех входных данных.

Если вы не знаете формат целевого приложения, вы можете хранить данные в нескольких форматах с помощью этого метода.

Данные, хранящиеся с помощью этого метода, можно преобразовать в совместимый формат при извлечении.

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

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

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

SetData(Type, Object)

Исходный код:
DataObject.cs
Исходный код:
DataObject.cs
Исходный код:
DataObject.cs

Добавляет указанный объект в DataObject, используя заданный тип в качестве формата.

public virtual void SetData (Type format, object data);
public virtual void SetData (Type format, object? data);

Параметры

format
Type

Тип Type, представляющий формат, связанный с данными.

data
Object

Сохраняемые данные.

Реализации

Примеры

В следующем примере кода данные хранятся в , DataObject используя в Type качестве формата данных . Затем данные извлекаются путем вызова GetData с помощью Type для указания формата данных. Результат отображается в текстовом поле.

Для этого кода требуется, чтобы textBox1 он был создан.

private void AddMyData2() {
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Gets the type of the component.
    Type myType = myComponent.GetType();
 
    // Creates a new data object.
    DataObject myDataObject = new DataObject();
 
    // Adds the component to the DataObject.
    myDataObject.SetData(myType, myComponent);
 
    // Prints whether data of the specified type is in the DataObject.
    if(myDataObject.GetDataPresent(myType))
       textBox1.Text = "Data of type " + myType.GetType().Name + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.GetType().Name +
       " is not present in the DataObject";
 }

Комментарии

Важно!

Вызов этого метода для ненадежных данных представляет угрозу безопасности. Вызывайте этот метод только для надежных данных. Дополнительные сведения см. в разделе Проверка всех входных данных.

Если вы не знаете формат целевого приложения, вы можете хранить данные в нескольких форматах с помощью этого метода.

Данные, хранящиеся с помощью этого метода, можно преобразовать в совместимый формат при извлечении.

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

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

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

SetData(String, Boolean, Object)

Исходный код:
DataObject.cs
Исходный код:
DataObject.cs
Исходный код:
DataObject.cs

Добавляет указанный объект в DataObject в заданном формате и указывает возможность преобразования данных в другой формат.

public virtual void SetData (string format, bool autoConvert, object data);
public virtual void SetData (string format, bool autoConvert, object? data);

Параметры

format
String

Формат, связанный с данными. Сведения о предварительно определенных форматах см. в разделе DataFormats.

autoConvert
Boolean

Значение true, если необходимо разрешить преобразование данных в другой формат; в противном случае — значение false.

data
Object

Сохраняемые данные.

Реализации

Примеры

В следующем примере кода данные хранятся в DataObject и указывают, что данные могут быть получены только в собственном формате.

Сначала создается новый DataObject объект . Данные в формате Юникода хранятся в DataObject, а autoConvert для задано значение false.

DataObject Затем запрашивается список доступных форматов данных. Возвращается только формат Юникода, хотя данные Юникода можно преобразовать в текстовые и другие форматы.

Для этого кода требуется, чтобы textBox1 он был создан.

private void AddMyData4() {
    // Creates a new data object, and assigns it the component.
    DataObject myDataObject = new DataObject();
 
    // Adds data to the DataObject, and specifies no format conversion.
    myDataObject.SetData(DataFormats.UnicodeText, false, "My Unicode data");
 
    // Gets the data formats in the DataObject.
    String[] arrayOfFormats = myDataObject.GetFormats();
 
    // Prints the results.
    textBox1.Text = "The format(s) associated with the data are: " + '\n';
    for(int i=0; i<arrayOfFormats.Length; i++)
       textBox1.Text += arrayOfFormats[i] + '\n';
 }

Комментарии

Важно!

Вызов этого метода для ненадежных данных представляет угрозу безопасности. Вызывайте этот метод только для надежных данных. Дополнительные сведения см. в разделе Проверка всех входных данных.

Если вы не знаете формат целевого приложения, вы можете хранить данные в нескольких форматах с помощью этого метода.

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

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

.NET Framework 4.8.1 и другие версии
Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9