DataObject.SetData Метод

Определение

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

Перегрузки

Имя Описание
SetData(Object)

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

SetData(String, Object)

Добавляет указанный объект DataObject в указанный формат.

SetData(Type, Object)

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

SetData(String, Boolean, Object)

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

SetData(Object)

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

public:
 virtual void SetData(System::Object ^ data);
public virtual void SetData(object data);
abstract member SetData : obj -> unit
override this.SetData : obj -> unit
Public Overridable Sub SetData (data As Object)

Параметры

data
Object

Данные для хранения.

Реализации

Примеры

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

Этот код требует textBox1 создания.

private:
   void AddMyData3()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Creates a new data object.
      DataObject^ myDataObject = gcnew 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 = String::Concat( "Data of type ", myType->Name,
           " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType->Name,
           " is not present in the DataObject" );
      }
   }
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";
 }
Private Sub AddMyData3()
    ' Creates a component to store in the data object.
    Dim myComponent As New Component()
    
    ' Creates a new data object.
    Dim myDataObject As New DataObject()
    
    ' Adds the component to the DataObject.
    myDataObject.SetData(myComponent)
    
    ' Prints whether data of the specified type is in the DataObject.
    Dim myType As Type = myComponent.GetType()
    If myDataObject.GetDataPresent(myType) Then
        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"
    End If
End Sub

Комментарии

Important

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

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

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

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

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

SetData(String, Object)

Добавляет указанный объект DataObject в указанный формат.

public:
 virtual void SetData(System::String ^ format, System::Object ^ data);
public virtual void SetData(string format, object data);
abstract member SetData : string * obj -> unit
override this.SetData : string * obj -> unit
Public Overridable Sub SetData (format As String, data As Object)

Параметры

format
String

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

data
Object

Данные для хранения.

Реализации

Примеры

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

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

Этот код требует textBox1 создания.

private:
   void AddMyData()
   {
      // Creates a new data object using a string and the text format.
      DataObject^ myDataObject = gcnew 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;
   }
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;
 }
Private Sub AddMyData()
    ' Creates a new data object using a string and the text format.
    Dim myDataObject As 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
End Sub

Комментарии

Important

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

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

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

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

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

SetData(Type, Object)

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

public:
 virtual void SetData(Type ^ format, System::Object ^ data);
public virtual void SetData(Type format, object data);
abstract member SetData : Type * obj -> unit
override this.SetData : Type * obj -> unit
Public Overridable Sub SetData (format As Type, data As Object)

Параметры

format
Type

Формат Type , связанный с данными.

data
Object

Данные для хранения.

Реализации

Примеры

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

Этот код требует textBox1 создания.

private:
   void AddMyData2()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Gets the type of the component.
      Type^ myType = myComponent->GetType();
      
      // Creates a new data object.
      DataObject^ myDataObject = gcnew 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 = String::Concat( "Data of type ", myType->Name,
            " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType->Name,
           " is not present in the DataObject" );
      }
   }
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";
 }
Private Sub AddMyData2()
    ' Creates a component to store in the data object.
    Dim myComponent As New Component()
    
    ' Gets the type of the component.
    Dim myType As Type = myComponent.GetType()
    
    ' Creates a new data object.
    Dim myDataObject As 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) Then
        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"
    End If
End Sub

Комментарии

Important

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

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

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

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

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

SetData(String, Boolean, Object)

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

public:
 virtual void SetData(System::String ^ format, bool autoConvert, System::Object ^ data);
public virtual void SetData(string format, bool autoConvert, object data);
abstract member SetData : string * bool * obj -> unit
override this.SetData : string * bool * obj -> unit
Public Overridable Sub SetData (format As String, autoConvert As Boolean, data As Object)

Параметры

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 = gcnew 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.
      array<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 = String::Concat( textBox1->Text, arrayOfFormats[ i ], "\n" );
      }
   }
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';
 }
Private Sub AddMyData4()
    ' Creates a new data object, and assigns it the component.
    Dim myDataObject As 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.
    Dim arrayOfFormats As String() = myDataObject.GetFormats()
    
    ' Prints the results.
    textBox1.Text = "The format(s) associated with the data are: " & ControlChars.Cr
    Dim i As Integer
    For i = 0 To arrayOfFormats.Length - 1
        textBox1.Text += arrayOfFormats(i) & ControlChars.Cr
    Next i
End Sub

Комментарии

Important

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

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

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

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