次の方法で共有


IDataObject.GetData メソッド (Type)

指定したクラス型形式に関連付けられているデータを取得します。

Function GetData( _
   ByVal format As Type _) As Object
[C#]
object GetData(
   Typeformat);
[C++]
Object* GetData(
   Type* format);
[JScript]
function GetData(
   format : Type) : Object;

パラメータ

  • format
    取得するデータの形式を表す Type 。定義済みの形式については、 DataFormats のトピックを参照してください。

戻り値

指定した形式に関連付けられているデータ、または null 参照 (Visual Basic では Nothing) 。

解説

指定した形式のデータが見つからない場合、このメソッドはデータをその形式に変換しようとします。指定した形式にデータを変換できない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

データが特定の形式に関連付けられているかどうか、またはデータをその形式に変換できるかどうかを確認するには、 GetData を呼び出す前に GetDataPresent を呼び出します。インスタンスに格納されているデータに対して有効な形式のリストを取得するには、 GetFormats を呼び出します。

メモ   形式変換を有効にしてデータが格納されている場合、要求した形式が、格納されている形式と互換性があれば、そのデータを別の形式に変換できます。たとえば、Unicode として格納されたデータをテキストに変換できます。

このメソッドの実装については、 DataObject.GetData のトピックを参照してください。

使用例

[Visual Basic, C#, C++] この例では、 IDataObject を実装する DataObject クラスを使用して、 GetData メソッドの使用法を示します。このメソッドは、特定の型 myType に関連付けられている、 myObject に格納されているデータを取得するために使用します。取得したデータの型がメッセージ ボックスに表示されます。この例は、 Form1 という名前の Form が既に作成されていることを前提にしています。

 
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 Not (myObject Is 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 'GetData2

[C#] 
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.");
}

[C++] 
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 != 0)
            MessageBox::Show(String::Concat(
            S"The data type stored in the data object is ", 
            myObject->GetType()->Name, S"."));
        else
            MessageBox::Show(
            S"Data of the specified type was not stored in the data object.");
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

IDataObject インターフェイス | IDataObject メンバ | System.Windows.Forms 名前空間 | IDataObject.GetData オーバーロードの一覧 | IDataObject.SetData | IDataObject.GetDataPresent | DataFormats | IDataObject.GetFormats | DataObject.SetData | DataObject.GetDataPresent | DataObject.GetFormats