DataObject.GetDataPresent 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷儲存在此 DataObject 中的數據是否與指定的格式相關聯。
多載
GetDataPresent(String) |
判斷儲存在此 DataObject 中的數據是否與指定的格式相關聯或可以轉換成 。 |
GetDataPresent(Type) |
判斷儲存在此 DataObject 中的數據是否與指定的格式相關聯或可以轉換成 。 |
GetDataPresent(String, Boolean) |
判斷此 DataObject 是否包含指定格式的數據,或者選擇性地包含可轉換成指定格式的數據。 |
GetDataPresent(String)
判斷儲存在此 DataObject 中的數據是否與指定的格式相關聯或可以轉換成 。
public:
virtual bool GetDataPresent(System::String ^ format);
public virtual bool GetDataPresent (string format);
abstract member GetDataPresent : string -> bool
override this.GetDataPresent : string -> bool
Public Overridable Function GetDataPresent (format As String) As Boolean
參數
- format
- String
要檢查的格式。 如需預先定義的格式,請參閱 DataFormats。
傳回
true
,如果儲存在此 DataObject 中的數據與指定的格式相關聯,或可以轉換成 ;否則,false
。
實作
範例
下列程式代碼範例會判斷目前儲存在此 DataObject 中的數據是否與指定的格式相關聯,或是可以轉換成指定的格式。 新的 DataObject 會使用字串及其指定為文字的關聯格式初始化。
然後範例會列印文字數據是否存在於 DataObject中。 此程式代碼需要已建立 textBox1
。
備註
呼叫這個方法,以判斷格式是否存在,再呼叫 GetData。 針對此 DataObject中可用的格式呼叫 GetFormats。
注意
如果數據已儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將數據轉換成另一種格式。 例如,儲存為 Unicode 的數據可以轉換成文字。
注意
如果無法擷取任何數據,則不會擲回任何例外狀況。 相反地,會傳回 false
。
另請參閱
適用於
GetDataPresent(Type)
判斷儲存在此 DataObject 中的數據是否與指定的格式相關聯或可以轉換成 。
public:
virtual bool GetDataPresent(Type ^ format);
public virtual bool GetDataPresent (Type format);
abstract member GetDataPresent : Type -> bool
override this.GetDataPresent : Type -> bool
Public Overridable Function GetDataPresent (format As Type) As Boolean
參數
傳回
true
,如果儲存在此 DataObject 中的數據與指定的格式相關聯,或可以轉換成 ;否則,false
。
實作
範例
下列程式代碼範例會判斷指定型別的數據是否存在於 DataObject中,或數據是否可以轉換成指定的型別。 結果會顯示在文字框中。 程序代碼需要已建立 textBox1
。
private:
void GetIfPresent2()
{
// 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();
// Determines if the DataObject has data of the Type format.
textBox1->Text = String::Concat( "Is the specified data type available ",
"in the DataObject? ", myDataObject->GetDataPresent( myType ), "\n" );
// Retrieves the data using its type format, and displays the type.
Object^ myObject = myDataObject->GetData( myType );
textBox1->Text = String::Concat( textBox1->Text, "The data type stored ",
"in the DataObject is: ", myObject->GetType()->Name );
}
private void GetIfPresent2() {
// 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();
// Determines if the DataObject has data of the Type format.
textBox1.Text = "Is the specified data type available in the " +
"DataObject? " + myDataObject.GetDataPresent(myType).ToString() + '\n';
// Retrieves the data using its type format, and displays the type.
Object myObject = myDataObject.GetData(myType);
textBox1.Text += "The data type stored in the DataObject is: " +
myObject.GetType().Name;
}
Private Sub GetIfPresent2()
' Creates a component to store in the data object.
Dim myComponent As New 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()
' Determines if the DataObject has data of the Type format.
textBox1.Text = "Is the specified data type available in the " & "DataObject? " & _
myDataObject.GetDataPresent(myType).ToString() & ControlChars.Cr
' Retrieves the data using its type format, and displays the type.
Dim myObject As Object = myDataObject.GetData(myType)
textBox1.Text += "The data type stored in the DataObject is: " + myObject.GetType().Name
End Sub
備註
呼叫這個方法,以判斷格式是否存在,再呼叫 GetData。 針對此 DataObject中可用的格式呼叫 GetFormats。
注意
如果數據已儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將數據轉換成另一種格式。 例如,儲存為 Unicode 的數據可以轉換成文字。
注意
如果無法擷取任何數據,則不會擲回任何例外狀況。 相反地,會傳回 false
。
另請參閱
適用於
GetDataPresent(String, Boolean)
判斷此 DataObject 是否包含指定格式的數據,或者選擇性地包含可轉換成指定格式的數據。
public:
virtual bool GetDataPresent(System::String ^ format, bool autoConvert);
public virtual bool GetDataPresent (string format, bool autoConvert);
abstract member GetDataPresent : string * bool -> bool
override this.GetDataPresent : string * bool -> bool
Public Overridable Function GetDataPresent (format As String, autoConvert As Boolean) As Boolean
參數
- format
- String
要檢查的格式。 如需預先定義的格式,請參閱 DataFormats。
- autoConvert
- Boolean
true
,以判斷儲存在此 DataObject 中的數據是否可以轉換成指定的格式;false
檢查數據是否為指定的格式。
傳回
true
,如果數據位於或可以轉換成指定的格式,則為 ;否則,false
。
實作
範例
下列程式代碼範例會判斷目前儲存在 DataObject 中的數據是否與指定的格式相關聯。 首先,新的 DataObject 會使用字串初始化,並將其格式指定為文字。
然後,系統會查詢 DataObject 與文字格式相關聯的數據,並將 autoConvert
參數指定為 false
。 此查詢的結果會列印在文字框中。
接著會查詢 DataObject,以取得與字串格式相關聯的數據,並將 autoConvert
參數指定為 true
。 結果會列印在文本框中。 此程式代碼需要已建立 textBox1
。
private:
void GetIfPresent3()
{
// Creates a new data object using a string and the text format.
DataObject^ myDataObject = gcnew DataObject( DataFormats::Text, "Another string" );
// Prints the string in a text box with autoconvert = false.
if ( myDataObject->GetDataPresent( "System.String", false ) )
{
// Prints the string in a text box.
textBox1->Text = String::Concat(
myDataObject->GetData( "System.String", false )->ToString(), "\n" );
}
else
{
textBox1->Text = "Could not convert data to specified format\n";
}
// Prints the string in a text box with autoconvert = true.
textBox1->Text = String::Concat( textBox1->Text,
"With autoconvert = true, you can convert text to string format. String is: ",
myDataObject->GetData( "System.String", true )->ToString() );
}
private void GetIfPresent3() {
// Creates a new data object using a string and the text format.
DataObject myDataObject = new DataObject(DataFormats.Text, "Another string");
// Prints the string in a text box with autoconvert = false.
if(myDataObject.GetDataPresent("System.String", false)) {
// Prints the string in a text box.
textBox1.Text = myDataObject.GetData("System.String", false).ToString() + '\n';
} else
{
textBox1.Text = "Could not convert data to specified format" + '\n';
}
// Prints the string in a text box with autoconvert = true.
textBox1.Text += "With autoconvert = true, you can convert text to string format. " +
"String is: " + myDataObject.GetData("System.String", true).ToString();
}
Private Sub GetIfPresent3()
' Creates a new data object using a string and the text format.
Dim myDataObject As New DataObject(DataFormats.Text, "Another string")
' Prints the string in a text box with autoconvert = false.
If myDataObject.GetDataPresent("System.String", False) Then
' Prints the string in a text box.
textBox1.Text = myDataObject.GetData("System.String", False).ToString() & ControlChars.Cr
Else
textBox1.Text = "Could not convert data to specified format" & ControlChars.Cr
End If
' Prints the string in a text box with autoconvert = true.
textBox1.Text &= "With autoconvert = true, you can convert text to string format. " & _
"String is: " & myDataObject.GetData("System.String", True).ToString()
End Sub
備註
呼叫這個方法,以判斷格式是否存在,再呼叫 GetData。 針對此 DataObject中可用的格式呼叫 GetFormats。
此方法會在下列情況下傳回 true
:
autoConvert
參數是true
,而且數據的格式可以轉換成適當的格式。autoConvert
參數是false
,且數據的格式適當。
此方法會在下列情況下傳回 false
:
autoConvert
參數是true
,這個方法找不到指定格式的數據,而且無法將資料轉換成指定的格式,或資料儲存在自動轉換設定為false
。autoConvert
參數是false
,而且數據不存在於指定格式的這個 DataObject 中。
注意
如果數據儲存指定允許轉換,而且要求的格式與預存格式相容,則可以將數據轉換成另一種格式。 例如,儲存為 Unicode 的數據可以轉換成文字。
注意
如果無法擷取任何數據,則不會擲回任何例外狀況。 相反地,會傳回 false
。