Sdílet prostřednictvím


DataObject.SetData Metoda

Definice

Přidá objekt do objektu DataObject.

Přetížení

SetData(Object)

Přidá zadaný objekt do objektu DataObject s použitím typu objektu jako datového formátu.

SetData(String, Object)

Přidá zadaný objekt do zadaného DataObject formátu.

SetData(Type, Object)

Přidá zadaný objekt do objektu DataObject s použitím zadaného typu jako formátu.

SetData(String, Boolean, Object)

Přidá zadaný objekt do zadaného DataObject formátu a indikuje, zda lze data převést do jiného formátu.

SetData(Object)

Přidá zadaný objekt do objektu DataObject s použitím typu objektu jako datového formátu.

public:
 virtual void SetData(System::Object ^ data);
public virtual void SetData (object data);
public virtual void SetData (object? data);
abstract member SetData : obj -> unit
override this.SetData : obj -> unit
Public Overridable Sub SetData (data As Object)

Parametry

data
Object

Data, která se mají uložit.

Implementuje

Příklady

Následující příklad kódu ukládá data do DataObject. Nejprve se vytvoří nový DataObject objekt a uloží se v něm komponenta. Potom se data načtou zadáním třídy. Výsledek se zobrazí v textovém poli.

Tento kód vyžaduje, aby textBox1 byl vytvořen.

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->Name,
           " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType->Name,
           " 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.GetType().Name + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.GetType().Name +
       " 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.GetType().Name & _
            " is present in the DataObject"
    Else
        textBox1.Text = "Data of type " & myType.GetType().Name & _
            " is not present in the DataObject"
    End If
End Sub

Poznámky

Důležité

Volání této metody s nedůvěryhodnými daty představuje bezpečnostní riziko. Tuto metodu volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Pokud neznáte formát cílové aplikace, můžete pomocí této metody ukládat data ve více formátech. Data uložená pomocí této metody lze při načtení převést do kompatibilního formátu.

Přetížení SetData(Object) ukládá data hodnotu ve formátu, který určuje voláním Object.GetType metody. Pokud data implementuje ISerializable rozhraní, toto přetížení také ukládá hodnotu ve Serializable formátu.

Viz také

Platí pro

SetData(String, Object)

Přidá zadaný objekt do zadaného DataObject formátu.

public:
 virtual void SetData(System::String ^ format, System::Object ^ data);
public virtual void SetData (string format, object data);
public virtual void SetData (string format, object? data);
abstract member SetData : string * obj -> unit
override this.SetData : string * obj -> unit
Public Overridable Sub SetData (format As String, data As Object)

Parametry

format
String

Formát přidružený k datům. Viz DataFormats předdefinované formáty.

data
Object

Data, která se mají uložit.

Implementuje

Příklady

Následující příklad kódu ukládá data v DataObjectsouboru , který určuje jejich formát jako Unicode.

Potom se data načtou zadáním formátu textu, protože výchozí hodnota je převést data, když je konečný formát kompatibilní. Výsledek se zobrazí v textovém poli.

Tento kód vyžaduje, aby textBox1 byl vytvořen.

private:
   void AddMyData()
   {
      // Creates a new data object using a string and the text format.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Stores a string, specifying the Unicode format.
      myDataObject->SetData( DataFormats::UnicodeText, "Text string" );
      
      // Retrieves the data by specifying Text.
      textBox1->Text = myDataObject->GetData( DataFormats::Text )->GetType()->Name;
   }
private void AddMyData() {
    // Creates a new data object using a string and the text format.
    DataObject myDataObject = new DataObject();
 
    // Stores a string, specifying the Unicode format.
    myDataObject.SetData(DataFormats.UnicodeText, "Text string");
 
    // Retrieves the data by specifying Text.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).GetType().Name;
 }
Private Sub AddMyData()
    ' Creates a new data object using a string and the text format.
    Dim myDataObject As New DataObject()
    
    ' Stores a string, specifying the Unicode format.
    myDataObject.SetData(DataFormats.UnicodeText, "Text string")
    
    ' Retrieves the data by specifying Text.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).GetType().Name
End Sub

Poznámky

Důležité

Volání této metody s nedůvěryhodnými daty představuje bezpečnostní riziko. Tuto metodu volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Pokud neznáte formát cílové aplikace, můžete pomocí této metody ukládat data ve více formátech.

Data uložená pomocí této metody lze při načtení převést do kompatibilního formátu.

Viz také

Platí pro

SetData(Type, Object)

Přidá zadaný objekt do objektu DataObject s použitím zadaného typu jako formátu.

public:
 virtual void SetData(Type ^ format, System::Object ^ data);
public virtual void SetData (Type format, object data);
public virtual void SetData (Type format, object? data);
abstract member SetData : Type * obj -> unit
override this.SetData : Type * obj -> unit
Public Overridable Sub SetData (format As Type, data As Object)

Parametry

format
Type

A Type představující formát přidružený k datům.

data
Object

Data, která se mají uložit.

Implementuje

Příklady

Následující příklad kódu ukládá data v datovém DataObject formátu pomocí znaku Type . Data se pak načtou voláním GetData k Type určení formátu dat. Výsledek se zobrazí v textovém poli.

Tento kód vyžaduje, aby textBox1 byl vytvořen.

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

Poznámky

Důležité

Volání této metody s nedůvěryhodnými daty představuje bezpečnostní riziko. Tuto metodu volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Pokud neznáte formát cílové aplikace, můžete pomocí této metody ukládat data ve více formátech.

Data uložená pomocí této metody lze při načtení převést do kompatibilního formátu.

Viz také

Platí pro

SetData(String, Boolean, Object)

Přidá zadaný objekt do zadaného DataObject formátu a indikuje, zda lze data převést do jiného formátu.

public:
 virtual void SetData(System::String ^ format, bool autoConvert, System::Object ^ data);
public virtual void SetData (string format, bool autoConvert, object data);
public virtual void SetData (string format, bool autoConvert, object? data);
abstract member SetData : string * bool * obj -> unit
override this.SetData : string * bool * obj -> unit
Public Overridable Sub SetData (format As String, autoConvert As Boolean, data As Object)

Parametry

format
String

Formát přidružený k datům. Viz DataFormats předdefinované formáty.

autoConvert
Boolean

trueumožnit převod dat do jiného formátu; v opačném případě . false

data
Object

Data, která se mají uložit.

Implementuje

Příklady

Následující příklad kódu ukládá data v objektu DataObject a určuje, že data lze načíst pouze v nativním formátu.

Nejprve se vytvoří nový DataObject . Data ve formátu Unicode jsou uložena DataObjectv souboru s nastavenou autoConvert na false.

DataObject Potom se dotazuje na seznam dostupných formátů dat. Vrátí se pouze formát Unicode, i když data Unicode lze převést na text a jiné formáty.

Tento kód vyžaduje, aby textBox1 byl vytvořen.

private:
   void AddMyData4()
   {
      // Creates a new data object, and assigns it the component.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Adds data to the DataObject, and specifies no format conversion.
      myDataObject->SetData( DataFormats::UnicodeText, false, "My Unicode data" );
      
      // Gets the data formats in the DataObject.
      array<String^>^ arrayOfFormats = myDataObject->GetFormats();
      
      // Prints the results.
      textBox1->Text = "The format(s) associated with the data are: \n";
      for ( int i = 0; i < arrayOfFormats->Length; i++ )
      {
         textBox1->Text = String::Concat( textBox1->Text, arrayOfFormats[ i ], "\n" );
      }
   }
private void AddMyData4() {
    // Creates a new data object, and assigns it the component.
    DataObject myDataObject = new DataObject();
 
    // Adds data to the DataObject, and specifies no format conversion.
    myDataObject.SetData(DataFormats.UnicodeText, false, "My Unicode data");
 
    // Gets the data formats in the DataObject.
    String[] arrayOfFormats = myDataObject.GetFormats();
 
    // Prints the results.
    textBox1.Text = "The format(s) associated with the data are: " + '\n';
    for(int i=0; i<arrayOfFormats.Length; i++)
       textBox1.Text += arrayOfFormats[i] + '\n';
 }
Private Sub AddMyData4()
    ' Creates a new data object, and assigns it the component.
    Dim myDataObject As New DataObject()
    
    ' Adds data to the DataObject, and specifies no format conversion.
    myDataObject.SetData(DataFormats.UnicodeText, False, "My Unicode data")
    
    ' Gets the data formats in the DataObject.
    Dim arrayOfFormats As String() = myDataObject.GetFormats()
    
    ' Prints the results.
    textBox1.Text = "The format(s) associated with the data are: " & ControlChars.Cr
    Dim i As Integer
    For i = 0 To arrayOfFormats.Length - 1
        textBox1.Text += arrayOfFormats(i) & ControlChars.Cr
    Next i
End Sub

Poznámky

Důležité

Volání této metody s nedůvěryhodnými daty představuje bezpečnostní riziko. Tuto metodu volejte pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.

Pokud neznáte formát cílové aplikace, můžete pomocí této metody ukládat data ve více formátech.

Viz také

Platí pro