DataObject.SetData メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトを DataObject に追加します。
オーバーロード
SetData(Object) |
オブジェクト型をデータ形式として使用して、指定したオブジェクトを DataObject に追加します。 |
SetData(String, Object) |
形式を指定して、指定したオブジェクトを DataObject に追加します。 |
SetData(Type, Object) |
指定した型を形式として使用して、指定したオブジェクトを DataObject に追加します。 |
SetData(String, Boolean, Object) |
形式を指定し、データを別形式に変換できるかどうかを指定して、指定したオブジェクトを DataObject に追加します。 |
SetData(Object)
オブジェクト型をデータ形式として使用して、指定したオブジェクトを DataObject に追加します。
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)
パラメーター
- data
- Object
格納するデータ。
実装
例
次のコード例では、 にデータを DataObject格納します。 最初に、新 DataObject しい が作成され、コンポーネントが格納されます。 次に、 クラスを指定してデータを取得します。 結果がテキスト ボックスに表示されます。
このコードでは、 が 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
注釈
重要
信頼されていないデータを指定してこのメソッドを呼び出すことは、セキュリティ上のリスクが伴います。 このメソッドは信頼されたデータでのみ呼び出してください。 詳細については、「 すべての入力を検証する」を参照してください。
ターゲット アプリケーションの形式がわからない場合は、このメソッドを使用して複数の形式でデータを格納できます。 このメソッドを使用して格納されたデータは、取得時に互換性のある形式に変換できます。
オーバーロードは SetData(Object) 、 メソッドを data
呼び出して決定する形式で値を Object.GetType 格納します。 が インターフェイスを実装しているISerializable場合data
、このオーバーロードでは 値も 形式でSerializable格納されます。
こちらもご覧ください
適用対象
SetData(String, Object)
形式を指定して、指定したオブジェクトを DataObject に追加します。
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)
パラメーター
- format
- String
データに関連付けられている形式。 定義済みの形式については、DataFormats のトピックを参照してください。
- data
- Object
格納するデータ。
実装
例
次のコード例では、 にデータを DataObject格納し、その形式を Unicode として指定します。
その後、テキスト形式を指定してデータが取得されます。既定では、最終的な形式と互換性がある場合にデータを変換するためです。 結果がテキスト ボックスに表示されます。
このコードでは、 が 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
注釈
重要
信頼されていないデータを指定してこのメソッドを呼び出すことは、セキュリティ上のリスクが伴います。 このメソッドは信頼されたデータでのみ呼び出してください。 詳細については、「 すべての入力を検証する」を参照してください。
ターゲット アプリケーションの形式がわからない場合は、このメソッドを使用して複数の形式でデータを格納できます。
このメソッドを使用して格納されたデータは、取得時に互換性のある形式に変換できます。
こちらもご覧ください
適用対象
SetData(Type, Object)
指定した型を形式として使用して、指定したオブジェクトを DataObject に追加します。
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)
パラメーター
- data
- Object
格納するデータ。
実装
例
次のコード例では、データ形式として を DataObject 使用して Type 、 にデータを格納します。 その後、 を使用して を呼び出 GetData して Type データ形式を指定することで、データが取得されます。 結果がテキスト ボックスに表示されます。
このコードでは、 が 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
注釈
重要
信頼されていないデータを指定してこのメソッドを呼び出すことは、セキュリティ上のリスクが伴います。 このメソッドは信頼されたデータでのみ呼び出してください。 詳細については、「 すべての入力を検証する」を参照してください。
ターゲット アプリケーションの形式がわからない場合は、このメソッドを使用して複数の形式でデータを格納できます。
このメソッドを使用して格納されたデータは、取得時に互換性のある形式に変換できます。
こちらもご覧ください
適用対象
SetData(String, Boolean, Object)
形式を指定し、データを別形式に変換できるかどうかを指定して、指定したオブジェクトを DataObject に追加します。
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)
パラメーター
- format
- String
データに関連付けられている形式。 定義済みの形式については、DataFormats のトピックを参照してください。
- autoConvert
- Boolean
データを別の形式に変換できるようにする場合は true
。それ以外の場合は false
。
- data
- Object
格納するデータ。
実装
例
次のコード例では、 にデータを DataObject 格納し、データをネイティブ形式でのみ取得できることを指定します。
まず、新 DataObject しい が作成されます。 Unicode 形式のデータは に格納され、 DataObjectautoConvert
は にfalse
設定されます。
次に、 に DataObject クエリを実行して、使用可能なデータ形式の一覧を確認します。 Unicode 形式のみが返されますが、Unicode データはテキストやその他の形式に変換できます。
このコードでは、 が 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
注釈
重要
信頼されていないデータを指定してこのメソッドを呼び出すことは、セキュリティ上のリスクが伴います。 このメソッドは信頼されたデータでのみ呼び出してください。 詳細については、「 すべての入力を検証する」を参照してください。
ターゲット アプリケーションの形式がわからない場合は、このメソッドを使用して複数の形式でデータを格納できます。
こちらもご覧ください
適用対象
.NET