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


IDataObject.GetDataPresent Метод

Определение

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

Перегрузки

GetDataPresent(String)

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

GetDataPresent(Type)

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

GetDataPresent(String, Boolean)

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

GetDataPresent(String)

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

public:
 bool GetDataPresent(System::String ^ format);
public bool GetDataPresent (string format);
abstract member GetDataPresent : string -> bool
Public Function GetDataPresent (format As String) As Boolean

Параметры

format
String

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

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

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

Примеры

В этом примере используется DataObject класс , который реализует IDataObject, чтобы продемонстрировать использование GetDataPresent метода . Во-первых, он создает объект данных, используя строку и Text формат . Затем он проверяет наличие данных в Text формате и отображает результаты в окне сообщения. В примере предполагается, что вы создали объект с Form именем Form1.

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

      // Checks whether the data is present in the Text format and displays the result.
      if ( myDataObject->GetDataPresent( DataFormats::Text ) )
            MessageBox::Show( "The stored data is in the Text format.", "Test Result" );
      else
            MessageBox::Show( "The stored data is not in the Text format.", "Test Result" );
   }
       private void TestDataObject() 
       {
           // Creates a new data object using a string and the Text format.
           string myString = "Hello World!";
           DataObject myDataObject = new DataObject(DataFormats.Text, myString);

           // Checks whether the data is present in the Text format and displays the result.
           if (myDataObject.GetDataPresent(DataFormats.Text))
               MessageBox.Show("The stored data is in the Text format." , "Test Result");
           else
               MessageBox.Show("The stored data is not in the Text format.", "Test Result");
       }
Private Sub TestDataObject()
    ' Creates a new data object using a string and the Text format.
    Dim myString As New String("Hello World!")
    Dim myDataObject As New DataObject(DataFormats.Text, myString)

    ' Checks whether the data is present in the Text format and displays the result.
    If (myDataObject.GetDataPresent(DataFormats.Text)) Then
        MessageBox.Show("The stored data is in the Text format.", "Test Result")
    Else
        MessageBox.Show("The stored data is not in the Text format.", "Test Result")
    End If
End Sub

Комментарии

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

Примечание

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

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

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

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

GetDataPresent(Type)

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

public:
 bool GetDataPresent(Type ^ format);
public bool GetDataPresent (Type format);
abstract member GetDataPresent : Type -> bool
Public Function GetDataPresent (format As Type) As Boolean

Параметры

format
Type

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

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

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

Примеры

В этом примере используется DataObject класс , который реализует IDataObject, чтобы продемонстрировать использование GetDataPresent метода . Во-первых, он создает компонент (myComponent) и сохраняет его в объекте данных (myDataObject). Затем он проверяет, хранятся ли указанные данные в myDataObject. Если тест оценивает true, результат отображается в окне сообщения, а тип данных отображается в текстовом поле. В этом примере предполагается, что вы уже создали Form именованные Form1 и TextBox .textBox1

private:
   void GetDataPresent2()
   {
      // 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();

      // Checks whether the specified data type exists in the object.
      if ( myDataObject->GetDataPresent( myType ) )
      {
         MessageBox::Show( "The specified data is stored in the data object." );

         // Displays the type of data.
         textBox1->Text = "The data type is " + myDataObject->GetData( myType )->GetType()->Name + ".";
      }
      else
            MessageBox::Show( "The specified data is not stored in the data object." );
   }
       private void GetDataPresent2() 
       {
           // 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();

           // Checks whether the specified data type exists in the object.
           if (myDataObject.GetDataPresent(myType))
           {
               MessageBox.Show("The specified data is stored in the data object.");
               // Displays the type of data.
               textBox1.Text = "The data type is " + myDataObject.GetData(myType).GetType().Name + ".";
           }
           else
           {
               MessageBox.Show("The specified data is not stored in the data object.");
           }
       }
Private Sub GetDataPresent2()
    ' Creates a component to store in the data object.
    Dim myComponent As New System.ComponentModel.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()

    ' Checks whether the specified data type exists in the object.
    If myDataObject.GetDataPresent(myType) Then
        MessageBox.Show("The specified data is stored in the data object.")
        ' Displays the type of data.
        TextBox1.Text = "The data type is " & myDataObject.GetData(myType).GetType().Name & "."
    Else
        MessageBox.Show("The specified data is not stored in the data object.")
    End If
End Sub

Комментарии

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

Примечание

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

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

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

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

GetDataPresent(String, Boolean)

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

public:
 bool GetDataPresent(System::String ^ format, bool autoConvert);
public bool GetDataPresent (string format, bool autoConvert);
abstract member GetDataPresent : string * bool -> bool
Public Function GetDataPresent (format As String, autoConvert As Boolean) As Boolean

Параметры

format
String

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

autoConvert
Boolean

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

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

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

Примеры

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

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

      // Checks whether the string can be displayed with autoConvert equal to false.
      if ( myDataObject->GetDataPresent( "System::String", false ) )
            MessageBox::Show( myDataObject->GetData( "System::String", false )->ToString(), "Message #1" );
      else
            MessageBox::Show( "Cannot convert data to the specified format with autoConvert set to false.", "Message #1" );

      // Displays the string with autoConvert equal to true.
      MessageBox::Show( "Now that autoConvert is true, you can convert " + myDataObject->GetData( "System::String", true ) + " to string format.", "Message #2" );
   }
       private void GetDataPresent3() 
       {
           // Creates a new data object using a string and the Text format.
           DataObject myDataObject = new DataObject(DataFormats.Text, "My String");

           // Checks whether the string can be displayed with autoConvert equal to false.
           if(myDataObject.GetDataPresent("System.String", false)) 
               MessageBox.Show(myDataObject.GetData("System.String", false).ToString(), "Message #1");
           else
               MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1");

           // Displays the string with autoConvert equal to true.
           MessageBox.Show("Now that autoConvert is true, you can convert " + 
               myDataObject.GetData("System.String", true).ToString() + " to string format.","Message #2");
       }
Private Sub GetDataPresent3()
    ' Creates a new data object using a string and the Text format.
    Dim myDataObject As New DataObject(DataFormats.Text, "My String")

    ' Checks whether the string can be displayed with autoConvert equal to false.
    If myDataObject.GetDataPresent("System.String", False) Then
        MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
    Else
        MessageBox.Show("Cannot convert data to the specified format with autoConvert set to false.", "Message #1")
    End If
    ' Displays the string with autoConvert equal to true.
    MessageBox.Show(("Now that autoConvert is true, you can convert " + myDataObject.GetData("System.String", _
         True).ToString() + " to string format."), "Message #2")

End Sub

Комментарии

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

Этот метод возвращает, true если:

  • Параметр autoConvert имеет значение , true а данные — в формате, который можно преобразовать в соответствующий формат.

  • Параметр autoConvert имеет значение , false а данные — в соответствующем формате.

Этот метод возвращает, false если:

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

  • Параметр autoConvert имеет значение false, и данные в этом экземпляре не существуют в указанном формате.

Примечание

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

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

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

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