Gewusst wie: Feststellen, ob ein Datenformat in einem Datenobjekt vorhanden ist
Aktualisiert: November 2007
Im folgenden Beispiel wird veranschaulicht, wie mit den verschiedenen GetDataPresent-Methodenüberladungen abgefragt wird, ob ein bestimmtes Datenformat in einem Datenobjekt vorhanden ist.
Beispiel
Beschreibung
Im folgenden Beispielcode wird mit der GetDataPresent(String)-Überladung das Vorhandensein eines bestimmten Datenformats mithilfe einer Deskriptorzeichenfolge abgefragt.
Code
DataObject dataObject = new DataObject("Some string data to store...");
// Query for the presence of Text data in the data object, by a data format descriptor string.
// In this overload of GetDataPresent, the method will return true both for native data formats
// and when the data can automatically be converted to the specifed format.
// In this case, string data is present natively, so GetDataPresent returns false.
string textData = null;
if (dataObject.GetDataPresent(DataFormats.StringFormat))
{
textData = dataObject.GetData(DataFormats.StringFormat) as string;
}
// In this case, the Text data in the data object can be autoconverted to
// Unicode text, so GetDataPresent returns "true".
byte[] unicodeData = null;
if (dataObject.GetDataPresent(DataFormats.UnicodeText))
{
unicodeData = dataObject.GetData(DataFormats.UnicodeText) as byte[];
}
Beispiel
Beschreibung
Im folgenden Beispielcode wird mit der GetDataPresent(Type)-Überladung das Vorhandensein eines bestimmten Datenformats mithilfe eines Typs abgefragt.
Code
DataObject dataObject = new DataObject("Some string data to store...");
// Query for the presence of String data in the data object, by type. In this overload
// of GetDataPresent, the method will return true both for native data formats
// and when the data can automatically be converted to the specifed format.
// In this case, the Text data present in the data object can be autoconverted
// to type string (also represented by DataFormats.String), so GetDataPresent returns "true".
string stringData = null;
if (dataObject.GetDataPresent(typeof(string)))
{
stringData = dataObject.GetData(DataFormats.Text) as string;
}
Beispiel
Beschreibung
Im folgenden Beispielcode wird mit der GetDataPresent(String, Boolean)-Überladung eine Abfrage auf Daten mit einer Deskriptorzeichenfolge ausgeführt, und es wird angegeben, wie Datenformate behandelt werden sollen, die automatisch konvertiert werden können.
Code
DataObject dataObject = new DataObject("Some string data to store...");
// Query for the presence of Text data in the data object, by data format descriptor string,
// and specifying whether auto-convertible data formats are acceptable.
// In this case, Text data is present natively, so GetDataPresent returns "true".
string textData = null;
if (dataObject.GetDataPresent(DataFormats.Text, false /* Auto-convert? */))
{
textData = dataObject.GetData(DataFormats.Text) as string;
}
// In this case, the Text data in the data object can be autoconverted to
// Unicode text, but it is not available natively, so GetDataPresent returns "false".
byte[] unicodeData = null;
if (dataObject.GetDataPresent(DataFormats.UnicodeText, false /* Auto-convert? */))
{
unicodeData = dataObject.GetData(DataFormats.UnicodeText) as byte[];
}
// In this case, the Text data in the data object can be autoconverted to
// Unicode text, so GetDataPresent returns "true".
if (dataObject.GetDataPresent(DataFormats.UnicodeText, true /* Auto-convert? */))
{
unicodeData = dataObject.GetData(DataFormats.UnicodeText) as byte[];
}