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


DataObject.GetData Метод

Определение

Возвращает данные, связанные с заданным форматом.

Перегрузки

GetData(String, Boolean)

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

GetData(String)

Возвращает данные, связанные с заданным форматом.

GetData(Type)

Возвращает данные, связанные с заданным форматом типа класса.

GetData(String, Boolean)

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

public:
 virtual System::Object ^ GetData(System::String ^ format, bool autoConvert);
public virtual object GetData (string format, bool autoConvert);
public virtual object? GetData (string format, bool autoConvert);
abstract member GetData : string * bool -> obj
override this.GetData : string * bool -> obj
Public Overridable Function GetData (format As String, autoConvert As Boolean) As Object

Параметры

format
String

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

autoConvert
Boolean

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

Возвращаемое значение

Данные, связанные с заданным форматом, или значение null.

Реализации

Примеры

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

Сначала создается новый DataObject объект с текстовыми данными. Затем пример пытается получить данные, указав их формат в виде строки и без преобразования формата, то есть autoConvert параметр имеет значение false. Эта операция завершается сбоем из-за отсутствия строковых данных в DataObject.

Далее в примере предпринимается попытка повторного получения данных с параметром autoConvert , равным true. Эта операция завершается успешно, и результаты отображаются в MessageBox.

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

private:
   void GetMyData3()
   {
      // Creates a new data object using a string and the text format.
      String^ myString = "My new text string";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );
      
      // Prints the string in a text box with autoconvert = false.
      if ( myDataObject->GetData( "System.String", false ) != 0 )
      {
         // Prints the string in a text box.
         textBox1->Text = String::Concat(
            myDataObject->GetData( "System.String", false )->ToString(), "\n" );
      }
      else
      {
         textBox1->Text = "Could not find data of the specified format\n";
      }
      
      // Prints the string in a text box with autoconvert = true.
      textBox1->Text = String::Concat(
            textBox1->Text, myDataObject->GetData( "System.String", true )->ToString() );
   }
private void GetMyData3() {
    // Creates a new data object using a string and the text format.
    string myString = "My new text string";
    DataObject myDataObject = new DataObject(DataFormats.Text, myString);
 
    // Prints the string in a text box with autoconvert = false.
    if(myDataObject.GetData("System.String", false) != null) {
       // Prints the string in a text box.
       textBox1.Text = myDataObject.GetData("System.String", false).ToString() + '\n';
    } else
        {
            textBox1.Text = "Could not find data of the specified format" + '\n';
        }

        // Prints the string in a text box with autoconvert = true.
        textBox1.Text += myDataObject.GetData("System.String", true).ToString();
 }
Private Sub GetMyData3()
    ' Creates a new data object using a string and the text format.
    Dim myString As String = "My new text string"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)
    
    ' Prints the string in a text box with autoconvert = false.
    If (myDataObject.GetData("System.String", False) IsNot Nothing) Then
        ' Prints the string in a text box.
        textBox1.Text = myDataObject.GetData("System.String", False).ToString() & ControlChars.Cr
    Else
        textBox1.Text = "Could not find data of the specified format" & ControlChars.Cr
    End If 
    ' Prints the string in a text box with autoconvert = true.
    textBox1.Text += myDataObject.GetData("System.String", True).ToString()
End Sub

Комментарии

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

autoConvert Если параметр имеет значение false, этот метод возвращает данные в указанном формате или null если данные в этом формате не найдены.

Чтобы определить, связаны ли данные с форматом или могут ли быть преобразованы в формат , вызовите GetDataPresent перед вызовом GetData. Вызовите GetFormats список допустимых форматов для данных, хранящихся в этом DataObjectобъекте .

Примечание

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

Если format имеет значение Html, этот метод возвращает строку в кодировке UTF-8 в приложениях, предназначенных для .NET 4.5 или более поздней версии, и строку в кодировке ANSI в приложениях, предназначенных для .NET 4.0 или более ранней версии.

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

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

GetData(String)

Возвращает данные, связанные с заданным форматом.

public:
 virtual System::Object ^ GetData(System::String ^ format);
public virtual object GetData (string format);
public virtual object? GetData (string format);
abstract member GetData : string -> obj
override this.GetData : string -> obj
Public Overridable Function GetData (format As String) As Object

Параметры

format
String

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

Возвращаемое значение

Данные, связанные с заданным форматом, или значение null.

Реализации

Примеры

В следующем примере кода извлекаются данные, хранящиеся в 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,
            " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType,
            " 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.ToString() + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.ToString() +
       " 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.ToString() & _
            " is present in the DataObject"
    Else
        textBox1.Text = "Data of type " & myType.ToString() & _
            " is not present in the DataObject"
    End If
End Sub

Комментарии

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

Чтобы определить, связаны ли данные с форматом или могут ли быть преобразованы в формат , вызовите GetDataPresent перед вызовом GetData. Вызовите GetFormats список допустимых форматов для данных, хранящихся в этом DataObjectобъекте .

Примечание

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

Если format имеет значение Html, этот метод возвращает строку в кодировке UTF-8 в приложениях, предназначенных для .NET 4.5 или более поздней версии, и строку в кодировке ANSI в приложениях, предназначенных для .NET 4.0 или более ранней версии.

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

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

GetData(Type)

Возвращает данные, связанные с заданным форматом типа класса.

public:
 virtual System::Object ^ GetData(Type ^ format);
public virtual object GetData (Type format);
public virtual object? GetData (Type format);
abstract member GetData : Type -> obj
override this.GetData : Type -> obj
Public Overridable Function GetData (format As Type) As Object

Параметры

format
Type

Объект Type, представляющий формат извлекаемых данных.

Возвращаемое значение

Данные, связанные с заданным форматом, или значение null.

Реализации

Примеры

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

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

private:
   void GetMyData()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Creates a new data object and assigns it the component.
      DataObject^ myDataObject = gcnew DataObject( myComponent );
      
      // Creates a type to store the type of data.
      Type^ myType = myComponent->GetType();
      
      // Retrieves the data using myType to represent its type.
      Object^ myObject = myDataObject->GetData( myType );
      if ( myObject != nullptr )
      {
         textBox1->Text = String::Format( "The data type stored in the DataObject is: {0}",
            myObject->GetType()->Name );
      }
      else
      {
         textBox1->Text = "Data of the specified type was not stored in the DataObject.";
      }
   }
private void GetMyData() {
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Creates a new data object and assigns it the component.
    DataObject myDataObject = new DataObject(myComponent);
 
    // Creates a type to store the type of data.
    Type myType = myComponent.GetType();
 
    // Retrieves the data using myType to represent its type.
    Object myObject = myDataObject.GetData(myType);
    if(myObject != null)
       textBox1.Text = "The data type stored in the DataObject is: " +
       myObject.GetType().Name;
    else
       textBox1.Text = "Data of the specified type was not stored " +
       "in the DataObject.";
 }
Private Sub GetMyData()
    ' Creates a component to store in the data object.
    Dim myComponent As New Component()
    
    ' Creates a new data object and assigns it the component.
    Dim myDataObject As New DataObject(myComponent)
    
    ' Creates a type to store the type of data.
    Dim myType As Type = myComponent.GetType()
    
    ' Retrieves the data using myType to represent its type.
    Dim myObject As Object = myDataObject.GetData(myType)
    If (myObject IsNot Nothing) Then
        textBox1.Text = "The data type stored in the DataObject is: " & myObject.GetType().Name
    Else
        textBox1.Text = "Data of the specified type was not stored " & "in the DataObject."
    End If
End Sub

Комментарии

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

Чтобы определить, связаны ли данные с форматом или могут ли быть преобразованы в формат , вызовите GetDataPresent перед вызовом GetData. Вызовите GetFormats список допустимых форматов для данных, хранящихся в этом DataObjectобъекте .

Примечание

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

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

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