IDataObject.GetData 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检索与指定的数据格式关联的数据。
重载
| GetData(String) |
检索与指定的数据格式关联的数据。 |
| GetData(Type) |
检索与指定的类类型格式关联的数据。 |
| GetData(String, Boolean) |
检索与指定数据格式相关联的数据,并使用一个布尔值确定是否将数据转换成该格式。 |
GetData(String)
检索与指定的数据格式关联的数据。
public:
System::Object ^ GetData(System::String ^ format);
public object GetData (string format);
public object? GetData (string format);
abstract member GetData : string -> obj
Public Function GetData (format As String) As Object
参数
- format
- String
要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。
返回
与指定格式关联的数据,或为 null。
示例
此示例使用 DataObject 类,该类实现 IDataObject, 以演示 方法的 GetData 用法。 方法用于检索存储在 中的数据 myDataObject,该数据与 Text 格式相关联。 该示例假定你已创建了一个名为 FormForm1 和一个名为 TextBox 的 textBox1。
private:
void GetData1()
{
// Creates a new data object using a string and the text format.
String^ myString = "My text string";
DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );
// Displays the string in a text box.
textBox1->Text = myDataObject->GetData( DataFormats::Text )->ToString();
}
private void GetData1()
{
// Creates a new data object using a string and the text format.
string myString = "My text string";
DataObject myDataObject = new DataObject(DataFormats.Text, myString);
// Displays the string in a text box.
textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString();
}
Private Sub GetData1()
' Creates a new data object using a string and the text format.
Dim myString As String = "My text string"
Dim myDataObject As New DataObject(DataFormats.Text, myString)
' Displays the string in a text box.
textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString()
End Sub
注解
如果此方法找不到指定格式的数据,它会尝试将数据转换为格式。 如果无法将数据转换为指定的格式,此方法将 null返回 。
若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。
注意
如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。
有关此方法的实现,请参阅 DataObject.GetData。
另请参阅
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)
适用于
GetData(Type)
检索与指定的类类型格式关联的数据。
public:
System::Object ^ GetData(Type ^ format);
public object GetData (Type format);
public object? GetData (Type format);
abstract member GetData : Type -> obj
Public Function GetData (format As Type) As Object
参数
- format
- Type
Type 表示要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。
返回
与指定格式关联的数据,或为 null。
示例
此示例使用 DataObject 实现 的 IDataObject类来演示 方法的 GetData 用法。 方法用于检索中 myObject存储的数据,该数据与特定类型 myType相关联。 检索到的数据的类型显示在消息框中。 该示例假定你已创建了一个名为 Form 的 Form1。
private:
void GetData2()
{
// Creates a component.
Component^ myComponent = gcnew Component;
// Creates a data object, and assigns it the component.
DataObject^ myDataObject = gcnew DataObject( myComponent );
// Creates a type, myType, to store the type of data.
Type^ myType = myComponent->GetType();
// Retrieves the data using myType to represent its type.
Object^ myObject = myDataObject->GetData( myType );
if ( myObject != nullptr )
MessageBox::Show( "The data type stored in the data object is " +
myObject->GetType()->Name + "." );
else
MessageBox::Show( "Data of the specified type was not stored in the data object." );
}
private void GetData2()
{
// Creates a component.
Component myComponent = new Component();
// Creates a data object, and assigns it the component.
DataObject myDataObject = new DataObject(myComponent);
// Creates a type, myType, to store the type of data.
Type myType = myComponent.GetType();
// Retrieves the data using myType to represent its type.
Object myObject = myDataObject.GetData(myType);
if(myObject != null)
MessageBox.Show("The data type stored in the data object is " +
myObject.GetType().Name + ".");
else
MessageBox.Show("Data of the specified type was not stored " +
"in the data object.");
}
Private Sub GetData2()
' Creates a component.
Dim myComponent As New System.ComponentModel.Component()
' Creates a data object, and assigns it the component.
Dim myDataObject As New DataObject(myComponent)
' Creates a type, myType, to store the type of data.
Dim myType As Type = myComponent.GetType()
' Retrieves the data using myType to represent its type.
Dim myObject As [Object] = myDataObject.GetData(myType)
If (myObject IsNot Nothing) Then
MessageBox.Show("The data type stored in the data object is " + myObject.GetType().Name + ".")
Else
MessageBox.Show("Data of the specified type was not stored " + "in the data object.")
End If
End Sub
注解
如果此方法找不到指定格式的数据,它会尝试将数据转换为格式。 如果无法将数据转换为指定的格式,此方法将 null返回 。
若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。
注意
如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。
有关此方法的实现,请参阅 DataObject.GetData。
另请参阅
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)
适用于
GetData(String, Boolean)
检索与指定数据格式相关联的数据,并使用一个布尔值确定是否将数据转换成该格式。
public:
System::Object ^ GetData(System::String ^ format, bool autoConvert);
public object GetData (string format, bool autoConvert);
public object? GetData (string format, bool autoConvert);
abstract member GetData : string * bool -> obj
Public Function GetData (format As String, autoConvert As Boolean) As Object
参数
- format
- String
要检索的数据的格式。 请参见 DataFormats 以获取预定义的格式。
- autoConvert
- Boolean
将数据转换成指定格式,值为 true;反之,值为 false。
返回
与指定格式关联的数据,或为 null。
示例
此示例使用 DataObject 实现 的 IDataObject类来演示 方法的 GetData 用法。 该示例使用 autoConvert 参数来指定是否转换数据格式,检索存储在 DataObject中的数据。 首先, myDataObject 使用文本数据创建 。 然后,该示例尝试两次检索数据。 在第一次试用中,它将格式指定为字符串, autoConvert 并将 参数设置为 false。 此试用版失败,结果显示在标有“消息 #1”的消息框中。第二次试用中,该示例检索参数设置为 true的autoConvert相同数据。 此试用成功,结果显示在标有“消息 #2”的消息框中。该示例假定你已创建一个名为 Form 的 Form1。
private:
void GetData3()
{
// Creates a new data object using a text string.
String^ myString = "Hello World!";
DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,myString );
// Displays the string with autoConvert equal to false.
if ( myDataObject->GetData( "System::String", false ) != nullptr )
{
// Displays the string in a message box.
MessageBox::Show( myDataObject->GetData( "System::String", false ) + ".", "Message #1" );
}
else
MessageBox::Show( "Could not find data of the specified format.", "Message #1" );
// Displays a not found message in a message box.
// Displays the string in a text box with autoConvert equal to true.
String^ myData = "The data is " + myDataObject->GetData( "System::String", true ) + ".";
MessageBox::Show( myData, "Message #2" );
}
private void GetData3()
{
// Creates a new data object using a text string.
string myString = "Hello World!";
DataObject myDataObject = new DataObject(DataFormats.Text, myString);
// Displays the string with autoConvert equal to false.
if (myDataObject.GetData("System.String", false) != null)
{
// Displays the string in a message box.
MessageBox.Show(myDataObject.GetData("System.String", false).ToString() + ".", "Message #1");
}
else
{
// Displays a not found message in a message box.
MessageBox.Show("Could not find data of the specified format.", "Message #1");
}
// Displays the string in a text box with autoConvert equal to true.
string myData = "The data is " + myDataObject.GetData("System.String", true).ToString() +".";
MessageBox.Show(myData,"Message #2");
}
Private Sub GetData3()
' Creates a new data object using a text string.
Dim myString As String = "Hello World!"
Dim myDataObject As New DataObject(DataFormats.Text, myString)
' Displays the string with autoConvert equal to false.
If (myDataObject.GetData("System.String", False) IsNot Nothing) Then
' Displays the string in a message box.
MessageBox.Show(myDataObject.GetData("System.String", False).ToString() + ".", "Message #1")
' Displays a not found message in a message box.
Else
MessageBox.Show("Could not find data of the specified format.", "Message #1")
End If
' Displays the string in a text box with autoConvert equal to true.
Dim myData As String = "The data is " + myDataObject.GetData("System.String", True).ToString()
MessageBox.Show(myData, "Message #2")
End Sub
注解
autoConvert如果 参数为 true ,并且此方法找不到指定格式的数据,则会尝试将数据转换为格式。 如果数据无法转换为指定格式,或者数据存储 autoConvert 时参数设置为 false,则此方法返回 null。
autoConvert如果 参数为 false,则此方法返回指定格式的数据,或者null找不到此格式的数据。
若要确定数据是否与 数据关联或可转换为 格式,请在调用 之前调用 GetDataPresentGetData。 调用 GetFormats 此实例中存储的数据的有效格式列表。
注意
如果存储的数据指定允许转换,并且请求的格式与存储的格式兼容,则可以将数据转换为另一种格式。 例如,存储为 Unicode 的数据可以转换为文本。
有关此方法的实现,请参阅 DataObject.GetData。
另请参阅
- SetData(String, Boolean, Object)
- GetDataPresent(String, Boolean)
- DataFormats
- GetFormats(Boolean)
- SetData(String, Boolean, Object)
- GetDataPresent(Type)
- GetFormats(Boolean)