DataObject.GetData Método

Definição

Devolve os dados associados ao formato de dados especificado.

Sobrecargas

Name Description
GetData(String, Boolean)

Devolve os dados associados ao formato especificado, utilizando um parâmetro de conversão automatizado para determinar se deve converter os dados para o formato.

GetData(String)

Devolve os dados associados ao formato de dados especificado.

GetData(Type)

Devolve os dados associados ao formato de tipo de classe especificado.

GetData(String, Boolean)

Devolve os dados associados ao formato especificado, utilizando um parâmetro de conversão automatizado para determinar se deve converter os dados para o formato.

public:
 virtual System::Object ^ GetData(System::String ^ format, bool autoConvert);
public virtual object GetData(string format, bool autoConvert);
abstract member GetData : string * bool -> obj
override this.GetData : string * bool -> obj
Public Overridable Function GetData (format As String, autoConvert As Boolean) As Object

Parâmetros

format
String

O formato dos dados a recuperar. Veja DataFormats para formatos pré-definidos.

autoConvert
Boolean

true converter os dados para o formato especificado; caso contrário, false.

Devoluções

Os dados associados ao formato especificado, ou null.

Implementações

Exemplos

O exemplo de código seguinte recupera os dados armazenados num DataObject, usando o autoConvert parâmetro para especificar se deve converter o formato dos dados.

Primeiro, é criado um novo DataObject com dados de texto. Depois, o exemplo tenta recuperar os dados, especificando o seu formato como uma cadeia de caracteres e sem conversão de formato, ou seja, o autoConvert parâmetro é false. Esta operação falha porque não há dados de cadeia no DataObject.

De seguida, o exemplo tenta recuperar os dados novamente, com o autoConvert parâmetro definido para true. Esta operação é bem-sucedida e os resultados são exibidos num MessageBox.

Este código exige que isso textBox1 tenha sido criado.

private:
   void GetMyData3()
   {
      // Creates a new data object using a string and the text format.
      String^ myString = "My new text string";
      DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );
      
      // Prints the string in a text box with autoconvert = false.
      if ( myDataObject->GetData( "System.String", false ) != 0 )
      {
         // Prints the string in a text box.
         textBox1->Text = String::Concat(
            myDataObject->GetData( "System.String", false )->ToString(), "\n" );
      }
      else
      {
         textBox1->Text = "Could not find data of the specified format\n";
      }
      
      // Prints the string in a text box with autoconvert = true.
      textBox1->Text = String::Concat(
            textBox1->Text, myDataObject->GetData( "System.String", true )->ToString() );
   }
private void GetMyData3() {
    // Creates a new data object using a string and the text format.
    string myString = "My new text string";
    DataObject myDataObject = new DataObject(DataFormats.Text, myString);
 
    // Prints the string in a text box with autoconvert = false.
    if(myDataObject.GetData("System.String", false) != null) {
       // Prints the string in a text box.
       textBox1.Text = myDataObject.GetData("System.String", false).ToString() + '\n';
    } else
        {
            textBox1.Text = "Could not find data of the specified format" + '\n';
        }

        // Prints the string in a text box with autoconvert = true.
        textBox1.Text += myDataObject.GetData("System.String", true).ToString();
 }
Private Sub GetMyData3()
    ' Creates a new data object using a string and the text format.
    Dim myString As String = "My new text string"
    Dim myDataObject As New DataObject(DataFormats.Text, myString)
    
    ' Prints the string in a text box with autoconvert = false.
    If (myDataObject.GetData("System.String", False) IsNot Nothing) Then
        ' Prints the string in a text box.
        textBox1.Text = myDataObject.GetData("System.String", False).ToString() & ControlChars.Cr
    Else
        textBox1.Text = "Could not find data of the specified format" & ControlChars.Cr
    End If 
    ' Prints the string in a text box with autoconvert = true.
    textBox1.Text += myDataObject.GetData("System.String", True).ToString()
End Sub

Observações

Se o autoConvert parâmetro for true e este método não conseguir encontrar dados no formato especificado, tenta converter os dados para o formato. Se os dados não puderem ser convertidos para o formato especificado, ou se os dados foram armazenados com a conversão automática definida para false, este método devolve null.

Se o autoConvert parâmetro for false, este método devolve dados no formato especificado, ou null se não houver dados neste formato.

Para determinar se os dados estão associados a, ou podem ser convertidos para, um formato, ligue GetDataPresent antes de chamar GetData. Solicite GetFormats uma lista de formatos válidos para os dados armazenados neste DataObject.

Note

Os dados podem ser convertidos para outro formato se foram armazenados, especificando que a conversão é permitida, e se o formato solicitado for compatível com o formato armazenado. Por exemplo, dados armazenados como Unicode podem ser convertidos em texto.

Quando format é Html, este método devolve uma cadeia codificada em UTF-8 em aplicações que visam .NET 4.5 ou superior, e uma cadeia codificada em ANSI em aplicações que visam .NET 4.0 ou inferior.

Ver também

Aplica-se a

GetData(String)

Devolve os dados associados ao formato de dados especificado.

public:
 virtual System::Object ^ GetData(System::String ^ format);
public virtual object GetData(string format);
abstract member GetData : string -> obj
override this.GetData : string -> obj
Public Overridable Function GetData (format As String) As Object

Parâmetros

format
String

O formato dos dados a recuperar. Veja DataFormats para formatos pré-definidos.

Devoluções

Os dados associados ao formato especificado, ou null.

Implementações

Exemplos

O seguinte exemplo de código recupera os dados armazenados num DataObject. Primeiro, é criado um novo DataObject com dados de texto. Depois, os dados são recuperados, especificando o seu formato como uma cadeia de caracteres, e apresentados numa caixa de texto.

Este código exige que isso textBox1 tenha sido criado.

private:
   void AddMyData3()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Creates a new data object.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Adds the component to the DataObject.
      myDataObject->SetData( myComponent );
      
      // Prints whether data of the specified type is in the DataObject.
      Type^ myType = myComponent->GetType();
      if ( myDataObject->GetDataPresent( myType ) )
      {
         textBox1->Text = String::Concat( "Data of type ", myType,
            " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType,
            " is not present in the DataObject" );
      }
   }
private void AddMyData3() {
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Creates a new data object.
    DataObject myDataObject = new DataObject();
 
    // Adds the component to the DataObject.
    myDataObject.SetData(myComponent);
 
    // Prints whether data of the specified type is in the DataObject.
    Type myType = myComponent.GetType();
    if(myDataObject.GetDataPresent(myType))
       textBox1.Text = "Data of type " + myType.ToString() + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.ToString() +
       " is not present in the DataObject";
 }
Private Sub AddMyData3()
    ' Creates a component to store in the data object.
    Dim myComponent As New Component()
    
    ' Creates a new data object.
    Dim myDataObject As New DataObject()
    
    ' Adds the component to the DataObject.
    myDataObject.SetData(myComponent)
    
    ' Prints whether data of the specified type is in the DataObject.
    Dim myType As Type = myComponent.GetType()
    If myDataObject.GetDataPresent(myType) Then
        textBox1.Text = "Data of type " & myType.ToString() & _
            " is present in the DataObject"
    Else
        textBox1.Text = "Data of type " & myType.ToString() & _
            " is not present in the DataObject"
    End If
End Sub

Observações

Se este método não conseguir encontrar dados no formato especificado, tenta converter os dados para o formato. Se os dados não puderem ser convertidos para o formato especificado, ou se os dados foram armazenados com conversão automática definida para false, este método devolve null.

Para determinar se os dados estão associados a, ou podem ser convertidos para, um formato, ligue GetDataPresent antes de chamar GetData. Solicite GetFormats uma lista de formatos válidos para os dados armazenados neste DataObject.

Note

Os dados podem ser convertidos para outro formato se foram armazenados, especificando que a conversão é permitida, e se o formato solicitado for compatível com o formato armazenado. Por exemplo, dados armazenados como Unicode podem ser convertidos em texto.

Quando format é Html, este método devolve uma cadeia codificada em UTF-8 em aplicações que visam .NET 4.5 ou superior, e uma cadeia codificada em ANSI em aplicações que visam .NET 4.0 ou inferior.

Ver também

Aplica-se a

GetData(Type)

Devolve os dados associados ao formato de tipo de classe especificado.

public:
 virtual System::Object ^ GetData(Type ^ format);
public virtual object GetData(Type format);
abstract member GetData : Type -> obj
override this.GetData : Type -> obj
Public Overridable Function GetData (format As Type) As Object

Parâmetros

format
Type

A Type representa o formato dos dados a recuperar.

Devoluções

Os dados associados ao formato especificado, ou null.

Implementações

Exemplos

O seguinte exemplo de código recupera os dados armazenados num DataObject. Primeiro, um novo DataObject é criado com um componente. Depois, os dados são recuperados, especificando o seu tipo. O tipo dos dados recuperados é apresentado numa caixa de texto.

Este código exige que isso textBox1 tenha sido criado.

private:
   void GetMyData()
   {
      // 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();
      
      // Retrieves the data using myType to represent its type.
      Object^ myObject = myDataObject->GetData( myType );
      if ( myObject != nullptr )
      {
         textBox1->Text = String::Format( "The data type stored in the DataObject is: {0}",
            myObject->GetType()->Name );
      }
      else
      {
         textBox1->Text = "Data of the specified type was not stored in the DataObject.";
      }
   }
private void GetMyData() {
    // 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();
 
    // Retrieves the data using myType to represent its type.
    Object myObject = myDataObject.GetData(myType);
    if(myObject != null)
       textBox1.Text = "The data type stored in the DataObject is: " +
       myObject.GetType().Name;
    else
       textBox1.Text = "Data of the specified type was not stored " +
       "in the DataObject.";
 }
Private Sub GetMyData()
    ' 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()
    
    ' Retrieves the data using myType to represent its type.
    Dim myObject As Object = myDataObject.GetData(myType)
    If (myObject IsNot Nothing) Then
        textBox1.Text = "The data type stored in the DataObject is: " & myObject.GetType().Name
    Else
        textBox1.Text = "Data of the specified type was not stored " & "in the DataObject."
    End If
End Sub

Observações

Se este método não conseguir encontrar dados no formato especificado, tenta converter os dados para o formato. Se os dados não puderem ser convertidos para o formato especificado, ou se os dados foram armazenados com conversão automática definida para false, este método devolve null.

Para determinar se os dados estão associados a, ou podem ser convertidos para, um formato, ligue GetDataPresent antes de chamar GetData. Solicite GetFormats uma lista de formatos válidos para os dados armazenados neste DataObject.

Note

Os dados podem ser convertidos para outro formato se foram armazenados, especificando que a conversão é permitida, e se o formato solicitado for compatível com o formato armazenado. Por exemplo, dados armazenados como Unicode podem ser convertidos em texto.

Ver também

Aplica-se a