DataObject.SetData Metod

Definition

Lägger till ett objekt i DataObject.

Överlagringar

Name Description
SetData(String, Boolean, Object)

Lägger till det angivna objektet i DataObject det angivna formatet och anger om data kan konverteras till ett annat format.

SetData(Type, Object)

Lägger till det angivna objektet i DataObject med den angivna typen som format.

SetData(Object)

Lägger till det angivna objektet i DataObject med objekttypen som dataformat.

SetData(String, Object)

Lägger till det angivna objektet i DataObject det angivna formatet.

SetData(String, Boolean, Object)

Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs

Lägger till det angivna objektet i DataObject det angivna formatet och anger om data kan konverteras till ett annat format.

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)

Parametrar

format
String

Formatet som är associerat med data. Se DataFormats fördefinierade format.

autoConvert
Boolean

trueför att tillåta att data konverteras till ett annat format; annars . false

data
Object

De data som ska lagras.

Implementeringar

Exempel

I följande kodexempel lagras data i en DataObject och anger att data endast kan hämtas i sitt interna format.

Först skapas en ny DataObject . Data i Unicode-formatet lagras i DataObject, med autoConvert inställt på false.

DataObject Sedan efterfrågas för listan över tillgängliga dataformat. Endast Unicode-formatet returneras, även om Unicode-data kan konverteras till text och andra format.

Den här koden kräver att den textBox1 har skapats.

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

Kommentarer

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Om du inte känner till målprogrammets format kan du lagra data i flera format med den här metoden.

Se även

Gäller för

SetData(Type, Object)

Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs

Lägger till det angivna objektet i DataObject med den angivna typen som format.

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)

Parametrar

format
Type

Ett Type format som representerar det format som är associerat med data.

data
Object

De data som ska lagras.

Implementeringar

Exempel

I följande kodexempel lagras data i ett DataObject med hjälp av ett Type som dataformat. Data hämtas sedan genom att anropa GetData med hjälp av Type för att ange dataformatet. Resultatet visas i en textruta.

Den här koden kräver att den textBox1 har skapats.

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

Kommentarer

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Om du inte känner till målprogrammets format kan du lagra data i flera format med den här metoden.

Data som lagras med den här metoden kan konverteras till ett kompatibelt format när de hämtas.

Se även

Gäller för

SetData(Object)

Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs

Lägger till det angivna objektet i DataObject med objekttypen som dataformat.

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)

Parametrar

data
Object

De data som ska lagras.

Implementeringar

Exempel

I följande kodexempel lagras data i en DataObject. Först skapas en ny DataObject och en komponent lagras i den. Sedan hämtas data genom att ange klassen. Resultatet visas i en textruta.

Den här koden kräver att den textBox1 har skapats.

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

Kommentarer

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Om du inte känner till målprogrammets format kan du lagra data i flera format med den här metoden. Data som lagras med den här metoden kan konverteras till ett kompatibelt format när de hämtas.

Överlagringen SetData(Object)data lagrar värdet i ett format som avgörs genom att anropa Object.GetType metoden. Om data implementerar ISerializable gränssnittet lagrar den här överlagringen även värdet i Serializable formatet.

Se även

Gäller för

SetData(String, Object)

Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs
Källa:
DataObject.cs

Lägger till det angivna objektet i DataObject det angivna formatet.

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)

Parametrar

format
String

Formatet som är associerat med data. Se DataFormats fördefinierade format.

data
Object

De data som ska lagras.

Implementeringar

Exempel

I följande kodexempel lagras data i en DataObject, som anger dess format som Unicode.

Sedan hämtas data genom att ange textformatet, eftersom standardvärdet är att konvertera data när det slutliga formatet är kompatibelt. Resultatet visas i en textruta.

Den här koden kräver att den textBox1 har skapats.

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

Kommentarer

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Om du inte känner till målprogrammets format kan du lagra data i flera format med den här metoden.

Data som lagras med den här metoden kan konverteras till ett kompatibelt format när de hämtas.

Se även

Gäller för