Bagikan melalui


DataObject.SetData Metode

Definisi

Menambahkan objek ke DataObject.

Overload

SetData(Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan jenis objek sebagai format data.

SetData(String, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan format yang ditentukan.

SetData(Type, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan jenis yang ditentukan sebagai format.

SetData(String, Boolean, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan format yang ditentukan dan menunjukkan apakah data dapat dikonversi ke format lain.

SetData(Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan jenis objek sebagai format data.

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)

Parameter

data
Object

Data yang akan disimpan.

Penerapan

Contoh

Contoh kode berikut menyimpan data dalam DataObject. Pertama, baru DataObject dibuat dan komponen disimpan di dalamnya. Kemudian, data diambil dengan menentukan kelas . Hasilnya ditampilkan dalam kotak teks.

Kode ini mengharuskan yang textBox1 telah dibuat.

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

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Jika Anda tidak tahu format aplikasi target, Anda dapat menyimpan data dalam beberapa format menggunakan metode ini. Data yang disimpan menggunakan metode ini dapat dikonversi ke format yang kompatibel saat diambil.

Kelebihan SetData(Object) beban menyimpan data nilai dalam format yang ditentukannya dengan memanggil Object.GetType metode . Jika data mengimplementasikan ISerializable antarmuka, kelebihan beban ini juga menyimpan nilai dalam Serializable format .

Lihat juga

Berlaku untuk

SetData(String, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan format yang ditentukan.

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)

Parameter

format
String

Format yang terkait dengan data. Lihat DataFormats untuk format yang telah ditentukan sebelumnya.

data
Object

Data yang akan disimpan.

Penerapan

Contoh

Contoh kode berikut menyimpan data dalam DataObject, menentukan formatnya sebagai Unicode.

Kemudian data diambil dengan menentukan format teks, karena defaultnya adalah mengonversi data saat format akhir kompatibel. Hasilnya ditampilkan dalam kotak teks.

Kode ini mengharuskan yang textBox1 telah dibuat.

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

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Jika Anda tidak tahu format aplikasi target, Anda dapat menyimpan data dalam beberapa format menggunakan metode ini.

Data yang disimpan menggunakan metode ini dapat dikonversi ke format yang kompatibel saat diambil.

Lihat juga

Berlaku untuk

SetData(Type, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan jenis yang ditentukan sebagai 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)

Parameter

format
Type

mewakili Type format yang terkait dengan data.

data
Object

Data yang akan disimpan.

Penerapan

Contoh

Contoh kode berikut menyimpan data dalam DataObject menggunakan Type sebagai format data. Data kemudian diambil dengan memanggil GetData menggunakan Type untuk menentukan format data. Hasilnya ditampilkan dalam kotak teks.

Kode ini mengharuskan yang textBox1 telah dibuat.

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

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Jika Anda tidak tahu format aplikasi target, Anda dapat menyimpan data dalam beberapa format menggunakan metode ini.

Data yang disimpan menggunakan metode ini dapat dikonversi ke format yang kompatibel saat diambil.

Lihat juga

Berlaku untuk

SetData(String, Boolean, Object)

Menambahkan objek yang ditentukan ke DataObject menggunakan format yang ditentukan dan menunjukkan apakah data dapat dikonversi ke format lain.

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)

Parameter

format
String

Format yang terkait dengan data. Lihat DataFormats untuk format yang telah ditentukan sebelumnya.

autoConvert
Boolean

true untuk memungkinkan data dikonversi ke format lain; jika tidak, false.

data
Object

Data yang akan disimpan.

Penerapan

Contoh

Contoh kode berikut menyimpan data dalam DataObject dan menentukan bahwa data hanya dapat diambil dalam format aslinya.

Pertama, baru DataObject dibuat. Data dalam format Unicode disimpan di DataObject, dengan autoConvert diatur ke false.

Kemudian, DataObject dikueri untuk daftar format data yang tersedia. Hanya format Unicode yang dikembalikan, meskipun data Unicode dapat dikonversi ke teks dan format lainnya.

Kode ini mengharuskan yang textBox1 telah dibuat.

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

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Jika Anda tidak tahu format aplikasi target, Anda dapat menyimpan data dalam beberapa format menggunakan metode ini.

Lihat juga

Berlaku untuk