DataObject.SetData Yöntem

Tanım

öğesine DataObjectbir nesnesi ekler.

Aşırı Yüklemeler

SetData(Object)

Veri biçimi olarak nesne DataObject türünü kullanarak belirtilen nesneyi öğesine ekler.

SetData(String, Object)

Belirtilen biçimi kullanarak belirtilen nesnesini öğesine DataObject ekler.

SetData(Type, Object)

Belirtilen türü biçim olarak kullanarak belirtilen nesnesini DataObject öğesine ekler.

SetData(String, Boolean, Object)

Belirtilen biçimi kullanarak belirtilen nesnesini DataObject öğesine ekler ve verilerin başka bir biçime dönüştürülip dönüştürülemeyeceğini belirtir.

SetData(Object)

Veri biçimi olarak nesne DataObject türünü kullanarak belirtilen nesneyi öğesine ekler.

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)

Parametreler

data
Object

Depoacak veriler.

Uygulamalar

Örnekler

Aşağıdaki kod örneği verileri içinde DataObjectdepolar. İlk olarak, yeni DataObject bir oluşturulur ve içinde bir bileşen depolanır. Daha sonra sınıfı belirtilerek veriler alınır. Sonuç bir metin kutusunda görüntülenir.

Bu kod, bunun oluşturulmasını gerektirir textBox1 .

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

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Hedef uygulamanın biçimini bilmiyorsanız, bu yöntemi kullanarak verileri birden çok biçimde depolayabilirsiniz. Bu yöntem kullanılarak depolanan veriler alındığında uyumlu bir biçime dönüştürülebilir.

Aşırı SetData(Object) yükleme, değeri yöntemini çağırarak Object.GetType belirlediği bir biçimde depolardata. Arabirimini uygularsa dataISerializable , bu aşırı yükleme değeri de Serializable biçiminde depolar.

Ayrıca bkz.

Şunlara uygulanır

SetData(String, Object)

Belirtilen biçimi kullanarak belirtilen nesnesini öğesine DataObject ekler.

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)

Parametreler

format
String

Verilerle ilişkili biçim. Önceden tanımlanmış biçimler için bkz DataFormats .

data
Object

Depoacak veriler.

Uygulamalar

Örnekler

Aşağıdaki kod örneği, biçimini Unicode olarak belirterek verileri içinde DataObjectdepolar.

Ardından veriler metin biçimi belirtilerek alınır çünkü varsayılan değer, son biçim uyumlu olduğunda verileri dönüştürmektir. Sonuç bir metin kutusunda görüntülenir.

Bu kod, bunun oluşturulmasını gerektirir textBox1 .

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

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Hedef uygulamanın biçimini bilmiyorsanız, bu yöntemi kullanarak verileri birden çok biçimde depolayabilirsiniz.

Bu yöntem kullanılarak depolanan veriler alındığında uyumlu bir biçime dönüştürülebilir.

Ayrıca bkz.

Şunlara uygulanır

SetData(Type, Object)

Belirtilen türü biçim olarak kullanarak belirtilen nesnesini DataObject öğesine ekler.

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)

Parametreler

format
Type

Type Verilerle ilişkili biçimi temsil eden bir.

data
Object

Depoacak veriler.

Uygulamalar

Örnekler

Aşağıdaki kod örneği, verileri veri biçimi olarak kullanarak bir DataObjectType içinde depolar. Ardından veriler, veri biçimini belirtmek için kullanılarak Type çağrılarak GetData alınır. Sonuç bir metin kutusunda görüntülenir.

Bu kod, bunun oluşturulmasını gerektirir textBox1 .

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

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Hedef uygulamanın biçimini bilmiyorsanız, bu yöntemi kullanarak verileri birden çok biçimde depolayabilirsiniz.

Bu yöntem kullanılarak depolanan veriler alındığında uyumlu bir biçime dönüştürülebilir.

Ayrıca bkz.

Şunlara uygulanır

SetData(String, Boolean, Object)

Belirtilen biçimi kullanarak belirtilen nesnesini DataObject öğesine ekler ve verilerin başka bir biçime dönüştürülip dönüştürülemeyeceğini belirtir.

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)

Parametreler

format
String

Verilerle ilişkili biçim. Önceden tanımlanmış biçimler için bkz DataFormats .

autoConvert
Boolean

true verilerin başka bir biçime dönüştürülmesini sağlamak için; aksi takdirde , false.

data
Object

Depoacak veriler.

Uygulamalar

Örnekler

Aşağıdaki kod örneği verileri bir DataObject içinde depolar ve verilerin yalnızca yerel biçiminde alınabileceğini belirtir.

İlk olarak yeni DataObject bir oluşturulur. Unicode biçimindeki veriler, olarak ayarlanmış falseşekilde autoConvert içinde DataObjectdepolanır.

Ardından, DataObject kullanılabilir veri biçimlerinin listesi için sorgulanır. Yalnızca Unicode biçimi döndürülür, ancak Unicode verileri metne ve diğer biçimlere dönüştürülebilir.

Bu kod, bunun oluşturulmasını gerektirir textBox1 .

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

Açıklamalar

Önemli

Bu yöntemin güvenilmeyen verilerle çağrılması bir güvenlik riskidir. Bu yöntemi yalnızca güvenilir verilerle çağır. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Hedef uygulamanın biçimini bilmiyorsanız, bu yöntemi kullanarak verileri birden çok biçimde depolayabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır