IDataObject.GetData 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擷取與指定資料格式產生關聯的資料。
多載
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
。 此範例假設您已經建立 Form 名為 的 ,以及名為 的 textBox1
TextBox 。 Form1
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 儲存在此實例中之資料的有效格式清單。
注意
如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。
如需這個方法的實作,請參閱 DataObject.GetData 。
另請參閱
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)
適用於
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 儲存在此實例中之資料的有效格式清單。
注意
如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。
如需這個方法的實作,請參閱 DataObject.GetData 。
另請參閱
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)
適用於
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」的訊息方塊中。 在第二個試用版中,此範例會擷取相同的資料, 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
,而且這個方法找不到指定格式的資料,它會嘗試將資料轉換成格式。 如果資料無法轉換成指定的格式,或資料是以 參數設定 false
為 儲存 autoConvert
,則這個方法會傳 null
回 。
autoConvert
如果 參數為 false
,則這個方法會傳回指定格式的資料,如果 null
找不到此格式的資料,則為 。
若要判斷資料是否與 相關聯,或可以轉換成 格式,請在呼叫 之前呼叫 GetDataPresent GetData 。 呼叫 GetFormats 儲存在此實例中之資料的有效格式清單。
注意
如果資料儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將資料轉換成另一種格式。 例如,儲存為 Unicode 的資料可以轉換成文字。
如需這個方法的實作,請參閱 DataObject.GetData 。
另請參閱
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)