DataObject.GetDataPresent メソッド (Type)
インスタンスに格納されているデータが、指定した形式と関連付けられているかどうかや、その形式に変換できるかどうかを確認します。
Overloads Public Overridable Function GetDataPresent( _
ByVal format As Type _) As Boolean Implements IDataObject.GetDataPresent
[C#]
public virtual bool GetDataPresent(Typeformat);
[C++]
public: virtual bool GetDataPresent(Type* format);
[JScript]
public function GetDataPresent(
format : Type) : Boolean;
パラメータ
- format
チェック対象となる形式を表す Type 。
戻り値
インスタンスに格納されているデータが、指定されている形式に関連付けられている場合や、その形式に変換できる場合は true 。それ以外の場合は false 。
実装
解説
GetData を呼び出す前に、書式が指定されているかどうかを確認する場合は、このメソッドを呼び出します。インスタンスで使用できる形式を取得するには、 GetFormats を呼び出します。
メモ 形式変換を有効にしてデータが格納されている場合、要求した形式が、格納されている形式と互換性があれば、そのデータを別の形式に変換できます。たとえば、Unicode として格納されたデータをテキストに変換できます。
メモ データを取得できない場合、例外はスローされません。代わりに false が返されます。
使用例
[Visual Basic, C#, C++] 指定した型のデータが DataObject に存在するかどうか、またはデータを指定した型に変換できるかどうかを判断する例を次に示します。結果はテキスト ボックスに表示されます。このコードは、 textBox1
が作成されていることを前提にしています。
Private Sub GetIfPresent2()
' Creates a component to store in the data object.
Dim myComponent As New Component()
' Creates a new data object and assigns it the component.
Dim myDataObject As New DataObject(myComponent)
' Creates a type to store the type of data.
Dim myType As Type = myComponent.GetType()
' Determines if the DataObject has data of the Type format.
textBox1.Text = "Is the specified data type available in the " & "DataObject? " & _
myDataObject.GetDataPresent(myType).ToString() & ControlChars.Cr
' Retrieves the data using its type format, and displays the type.
Dim myObject As Object = myDataObject.GetData(myType)
textBox1.Text += "The data type stored in the DataObject is: " + myObject.GetType().Name
End Sub 'GetIfPresent2
[C#]
private void GetIfPresent2() {
// Creates a component to store in the data object.
Component myComponent = new Component();
// Creates a new data object and assigns it the component.
DataObject myDataObject = new DataObject(myComponent);
// Creates a type to store the type of data.
Type myType = myComponent.GetType();
// Determines if the DataObject has data of the Type format.
textBox1.Text = "Is the specified data type available in the " +
"DataObject? " + myDataObject.GetDataPresent(myType).ToString() + '\n';
// Retrieves the data using its type format, and displays the type.
Object myObject = myDataObject.GetData(myType);
textBox1.Text += "The data type stored in the DataObject is: " +
myObject.GetType().Name;
}
[C++]
private:
void GetIfPresent2() {
// Creates a component to store in the data object.
Component* myComponent = new Component();
// Creates a new data object and assigns it the component.
DataObject* myDataObject = new DataObject(myComponent);
// Creates a type to store the type of data.
Type* myType = myComponent->GetType();
// Determines if the DataObject has data of the Type format.
textBox1->Text = String::Format( S"Is the specified data type available in the DataObject? {0}\n",
__box(myDataObject->GetDataPresent(myType)));
// Retrieves the data using its type format, and displays the type.
Object* myObject = myDataObject->GetData(myType);
textBox1->Text = String::Format( S"{0}The data type stored in the DataObject is: {1}",
textBox1->Text, myObject->GetType()->Name );
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
DataObject クラス | DataObject メンバ | System.Windows.Forms 名前空間 | DataObject.GetDataPresent オーバーロードの一覧 | SetData | GetData | Type | DataFormats | GetFormats