DataObject.SetData Methode

Definitie

Hiermee voegt u een object toe aan de DataObject.

Overloads

Name Description
SetData(String, Boolean, Object)

Hiermee voegt u het opgegeven object toe aan de DataObject opgegeven indeling en geeft u aan of de gegevens naar een andere indeling kunnen worden geconverteerd.

SetData(Type, Object)

Hiermee voegt u het opgegeven object toe aan het DataObject opgegeven type als de notatie.

SetData(Object)

Hiermee voegt u het opgegeven object toe aan het DataObject gebruik van het objecttype als de gegevensindeling.

SetData(String, Object)

Hiermee voegt u het opgegeven object toe aan de DataObject opgegeven indeling.

SetData(String, Boolean, Object)

Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs

Hiermee voegt u het opgegeven object toe aan de DataObject opgegeven indeling en geeft u aan of de gegevens naar een andere indeling kunnen worden geconverteerd.

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)

Parameters

format
String

De indeling die aan de gegevens is gekoppeld. Zie DataFormats voor vooraf gedefinieerde indelingen.

autoConvert
Boolean

true om toe te staan dat de gegevens worden geconverteerd naar een andere indeling; anders, false.

data
Object

De gegevens die moeten worden opgeslagen.

Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden gegevens opgeslagen in een DataObject en wordt aangegeven dat de gegevens alleen in de systeemeigen indeling kunnen worden opgehaald.

Eerst wordt er een nieuwe DataObject gemaakt. Gegevens in de Unicode-indeling worden opgeslagen in de DataObjectindeling , waarbij autoConvert deze zijn ingesteld op false.

DataObject Vervolgens wordt er een query uitgevoerd op de lijst met beschikbare gegevensindelingen. Alleen de Unicode-indeling wordt geretourneerd, hoewel Unicode-gegevens kunnen worden geconverteerd naar tekst en andere indelingen.

Voor deze code is vereist dat textBox1 deze is gemaakt.

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

Opmerkingen

Important

Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Als u de indeling van de doeltoepassing niet kent, kunt u gegevens opslaan in meerdere indelingen met behulp van deze methode.

Zie ook

Van toepassing op

SetData(Type, Object)

Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs

Hiermee voegt u het opgegeven object toe aan het DataObject opgegeven type als de notatie.

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)

Parameters

format
Type

Een Type weergave van de indeling die aan de gegevens is gekoppeld.

data
Object

De gegevens die moeten worden opgeslagen.

Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden gegevens opgeslagen in een met behulp van een DataObjectType gegevensindeling. De gegevens worden vervolgens opgehaald met behulp van de GetData aanroep Type om de gegevensindeling op te geven. Het resultaat wordt weergegeven in een tekstvak.

Voor deze code is vereist dat textBox1 deze is gemaakt.

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

Opmerkingen

Important

Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Als u de indeling van de doeltoepassing niet kent, kunt u gegevens opslaan in meerdere indelingen met behulp van deze methode.

Gegevens die met deze methode worden opgeslagen, kunnen worden geconverteerd naar een compatibele indeling wanneer ze worden opgehaald.

Zie ook

Van toepassing op

SetData(Object)

Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs

Hiermee voegt u het opgegeven object toe aan het DataObject gebruik van het objecttype als de gegevensindeling.

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)

Parameters

data
Object

De gegevens die moeten worden opgeslagen.

Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden gegevens opgeslagen in een DataObject. Eerst wordt er een nieuw DataObject gemaakt en wordt er een onderdeel in opgeslagen. Vervolgens worden de gegevens opgehaald door de klasse op te geven. Het resultaat wordt weergegeven in een tekstvak.

Voor deze code is vereist dat textBox1 deze is gemaakt.

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

Opmerkingen

Important

Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Als u de indeling van de doeltoepassing niet kent, kunt u gegevens opslaan in meerdere indelingen met behulp van deze methode. Gegevens die met deze methode worden opgeslagen, kunnen worden geconverteerd naar een compatibele indeling wanneer ze worden opgehaald.

De SetData(Object) overbelasting slaat de data waarde op in een indeling die wordt bepaald door de methode aan te Object.GetType roepen. Als data de ISerializable interface wordt geïmplementeerd, slaat deze overbelasting ook de waarde op in de Serializable indeling.

Zie ook

Van toepassing op

SetData(String, Object)

Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs
Bron:
DataObject.cs

Hiermee voegt u het opgegeven object toe aan de DataObject opgegeven indeling.

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)

Parameters

format
String

De indeling die aan de gegevens is gekoppeld. Zie DataFormats voor vooraf gedefinieerde indelingen.

data
Object

De gegevens die moeten worden opgeslagen.

Implementeringen

Voorbeelden

In het volgende codevoorbeeld worden gegevens opgeslagen in een DataObject, waarbij de indeling wordt opgegeven als Unicode.

Vervolgens worden de gegevens opgehaald door de tekstindeling op te geven, omdat de standaardwaarde is om de gegevens te converteren wanneer de uiteindelijke indeling compatibel is. Het resultaat wordt weergegeven in een tekstvak.

Voor deze code is vereist dat textBox1 deze is gemaakt.

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

Opmerkingen

Important

Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Als u de indeling van de doeltoepassing niet kent, kunt u gegevens opslaan in meerdere indelingen met behulp van deze methode.

Gegevens die met deze methode worden opgeslagen, kunnen worden geconverteerd naar een compatibele indeling wanneer ze worden opgehaald.

Zie ook

Van toepassing op