IDataObject.GetData 方法

定义

检索与指定的数据格式关联的数据。

重载

GetData(String)

检索与指定的数据格式关联的数据。

GetData(Type)

检索与指定的类类型格式关联的数据。

GetData(String, 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 和一个名为 TextBoxtextBox1

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返回 。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

注意

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 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相关联。 检索到的数据的类型显示在消息框中。 该示例假定你已创建了一个名为 FormForm1

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返回 。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

注意

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 DataObject.GetData

另请参阅

适用于

GetData(String, 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 用法。 该示例使用 autoConvert 参数来指定是否转换数据格式,检索存储在 DataObject中的数据。 首先, myDataObject 使用文本数据创建 。 然后,该示例尝试两次检索数据。 在第一次试用中,它将格式指定为字符串, autoConvert 并将 参数设置为 false。 此试用版失败,结果显示在标有“消息 #1”的消息框中。第二次试用中,该示例检索参数设置为 trueautoConvert相同数据。 此试用成功,结果显示在标有“消息 #2”的消息框中。该示例假定你已创建一个名为 FormForm1

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找不到此格式的数据。

若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。

注意

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。

有关此方法的实现,请参阅 DataObject.GetData

另请参阅

适用于