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


IDataObject.GetData Метод

Определение

Получает данные, связанные с заданным форматом.

Перегрузки

GetData(String)

Получает данные, связанные с заданным форматом.

GetData(Type)

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

GetData(String, Boolean)

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

GetData(String)

Получает данные, связанные с заданным форматом.

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

Параметры

format
String

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

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

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

Примеры

В этом примере используется DataObject класс , который реализует IDataObject, для демонстрации GetData использования метода . Метод используется для получения данных, хранящихся в myDataObject, который связан с форматом Text . В примере предполагается, что вы уже создали именованный FormForm1 и TextBox с именем textBox1.

private:
   void GetData1()
   {
      // Creates a new data object using a string and the text format.
      String^ myString = "My text string";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );

      // Displays the string in a text box.
      textBox1->Text = myDataObject->GetData( DataFormats::Text )->ToString();
   }
private void GetData1() 
{
    // Creates a new data object using a string and the text format.
    string myString = "My text string";
    DataObject myDataObject = new DataObject(DataFormats.Text, myString);

    // Displays the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString();
}
Private Sub GetData1()
    ' Creates a new data object using a string and the text format.
    Dim myString As String = "My text string"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)

    ' Displays the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString()
End Sub

Комментарии

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

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

Примечание

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

Реализацию этого метода см. в разделе DataObject.GetData.

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

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

GetData(Type)

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

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

Параметры

format
Type

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

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

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

Примеры

В этом примере используется DataObject класс , который реализует IDataObject, чтобы продемонстрировать использование GetData метода . Метод используется для получения данных, хранящихся в myObject, который связан с определенным типом . myType Тип полученных данных отображается в окне сообщения. В примере предполагается, что вы уже создали Form с именем Form1.

private:
   void GetData2()
   {
      // Creates a component.
      Component^ myComponent = gcnew Component;

      // Creates a data object, and assigns it the component.
      DataObject^ myDataObject = gcnew DataObject( myComponent );

      // Creates a type, myType, 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 )
            MessageBox::Show( "The data type stored in the data object is " +
                  myObject->GetType()->Name + "." );
      else
            MessageBox::Show( "Data of the specified type was not stored in the data object." );
   }
       private void GetData2() 
       {
           // Creates a component.
           Component myComponent = new Component();

           // Creates a data object, and assigns it the component.
           DataObject myDataObject = new DataObject(myComponent);

           // Creates a type, myType, 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)
               MessageBox.Show("The data type stored in the data object is " +
                   myObject.GetType().Name + ".");
           else
               MessageBox.Show("Data of the specified type was not stored " +
                   "in the data object.");
       }
Private Sub GetData2()
    ' Creates a component.
    Dim myComponent As New System.ComponentModel.Component()

    ' Creates a data object, and assigns it the component.
    Dim myDataObject As New DataObject(myComponent)

    ' Creates a type, myType, 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
        MessageBox.Show("The data type stored in the data object is " + myObject.GetType().Name + ".")
    Else
        MessageBox.Show("Data of the specified type was not stored " + "in the data object.")
    End If
End Sub

Комментарии

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

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

Примечание

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

Реализацию этого метода см. в разделе DataObject.GetData.

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

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

GetData(String, Boolean)

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

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

Параметры

format
String

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

autoConvert
Boolean

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

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

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

Примеры

В этом примере используется DataObject класс , который реализует IDataObject, чтобы продемонстрировать использование GetData метода . В примере извлекаются данные, хранящиеся в DataObject, с помощью autoConvert параметра , чтобы указать, следует ли преобразовать формат данных. Во-первых, myDataObject создается с текстовыми данными. Затем пример пытается дважды получить данные. В первой пробной версии он задает свой формат в виде строки и задает autoConvert для параметра значение false. Эта пробная версия завершается сбоем, и результат отображается в окне сообщения с меткой "Сообщение 1". Во второй пробной версии пример извлекает те же данные с параметром , для которого autoConvert задано значение true. Пробная версия завершается успешно, и результат отображается в окне сообщения с меткой "Сообщение 2". В примере предполагается, что вы создали объект с Form именем Form1.

private:
   void GetData3()
   {
      // Creates a new data object using a text string.
      String^ myString = "Hello World!";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );

      // Displays the string with autoConvert equal to false.
      if ( myDataObject->GetData( "System::String", false ) != nullptr )
      {
         // Displays the string in a message box.
         MessageBox::Show( myDataObject->GetData( "System::String", false ) + ".", "Message #1" );
      }
      else
            MessageBox::Show( "Could not find data of the specified format.", "Message #1" );

      // Displays a not found message in a message box.
      // Displays the string in a text box with autoConvert equal to true.
      String^ myData = "The data is " + myDataObject->GetData( "System::String", true ) + ".";
      MessageBox::Show( myData, "Message #2" );
   }
       private void GetData3() 
       {
           // Creates a new data object using a text string.
           string myString = "Hello World!";
           DataObject myDataObject = new DataObject(DataFormats.Text, myString);

           // Displays the string with autoConvert equal to false.
           if (myDataObject.GetData("System.String", false) != null) 
           {
               // Displays the string in a message box.
               MessageBox.Show(myDataObject.GetData("System.String", false).ToString() + ".", "Message #1");
           } 
           else
           {
               // Displays a not found message in a message box.
               MessageBox.Show("Could not find data of the specified format.", "Message #1");
           }

           // Displays the string in a text box with autoConvert equal to true.
           string myData = "The data is " + myDataObject.GetData("System.String", true).ToString() +".";
           MessageBox.Show(myData,"Message #2");
       }
Private Sub GetData3()
    ' Creates a new data object using a text string.
    Dim myString As String = "Hello World!"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)

    ' Displays the string with autoConvert equal to false.
    If (myDataObject.GetData("System.String", False) IsNot Nothing) Then
        ' Displays the string in a message box.
        MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
        ' Displays a not found message in a message box.
    Else
        MessageBox.Show("Could not find data of the specified format.", "Message #1")
    End If

    ' Displays the string in a text box with autoConvert equal to true.
    Dim myData As String = "The data is " + myDataObject.GetData("System.String", True).ToString()
    MessageBox.Show(myData, "Message #2")
End Sub

Комментарии

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

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

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

Примечание

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

Реализацию этого метода см. в разделе DataObject.GetData.

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

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