共用方式為


DataObject.GetDataPresent 方法

定義

判斷儲存在此 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

參數

format
Type

Type,表示要檢查的格式。

傳回

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

另請參閱

適用於