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 以获取预定义的格式。

返回

如果此 DataObject 中存储的数据与指定的格式关联,或者可以转换成指定的格式,则为 true;否则为 false

实现

示例

下面的代码示例确定当前存储在此 DataObject 中的数据是否与指定的格式相关联,或者是否可以转换为指定格式。 使用字符串及其关联格式(指定为文本)初始化新的 DataObject

然后,示例将打印 中 DataObject是否存在文本数据。 此代码要求 textBox1 已创建 。

注解

调用此方法以确定在调用 GetData之前是否存在格式。 调用 GetFormatsDataObject中可用的格式。

注意

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 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

返回

如果此 DataObject 中存储的数据与指定的格式关联,或者可以转换成指定的格式,则为 true;否则为 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之前是否存在格式。 调用 GetFormatsDataObject中可用的格式。

注意

如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 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之前是否存在格式。 调用 GetFormatsDataObject中可用的格式。

此方法在 true 以下情况下返回:

  • autoConvert参数为 true ,数据采用可转换为适当格式的格式。

  • 参数 autoConvertfalse ,数据采用适当的格式。

此方法在 false 以下情况下返回:

  • autoConvert参数为 true ,此方法无法查找指定格式的数据,并且无法将数据转换为指定格式,或者数据存储时自动转换设置为 false

  • 参数 autoConvertfalse ,数据不存在于此 DataObject 中,格式为指定格式。

注意

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

注意

如果无法检索任何数据,则不会引发异常。 相反, false 将返回 。

另请参阅

适用于