本文整理汇总了C#中NSDictionary.GetStringValue方法的典型用法代码示例。如果您正苦于以下问题:C# NSDictionary.GetStringValue方法的具体用法?C# NSDictionary.GetStringValue怎么用?C# NSDictionary.GetStringValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NSDictionary
的用法示例。
在下文中一共展示了NSDictionary.GetStringValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NativeDiskChanged
private void NativeDiskChanged(IntPtr disk, IntPtr keys, IntPtr context)
{
if (this.DeviceChanged == null) {
// if no-one subscribed to this event, do nothing
return;
}
IntPtr device = DiskArbitration.DADiskCopyIOMedia (disk);
IntPtr propertiesRef = DiskArbitration.DADiskCopyDescription (disk);
// using MonoMac we can get a managed NSDictionary from the pointer
NSDictionary properties = new NSDictionary (propertiesRef);
DeviceArguments deviceArguments = new DeviceArguments (properties, this);
if (properties.HasKey ("DADeviceProtocol") && properties.GetStringValue ("DADeviceProtocol") == "USB") {
OsxUsbData usb = new OsxUsbData (device);
deviceArguments.UsbInfo = usb;
}
IOKit.IOObjectRelease (device);
// trigger the public event for any subscribers
this.DeviceChanged (this, deviceArguments);
GC.KeepAlive (this);
}
示例2: NativeDiskDisappeared
private void NativeDiskDisappeared(IntPtr disk, IntPtr context)
{
if (this.DeviceDisappeared == null) {
// if no-one subscribed to this event, do nothing
return;
}
IntPtr device = DiskArbitration.DADiskCopyIOMedia (disk);
IntPtr propertiesRef = DiskArbitration.DADiskCopyDescription (disk);
NSDictionary properties = new NSDictionary (propertiesRef);
DeviceArguments deviceArguments = new DeviceArguments (properties, this);
if (properties.HasKey ("DADeviceProtocol") && properties.GetStringValue ("DADeviceProtocol") == "USB") {
OsxUsbData usb = new OsxUsbData (device);
deviceArguments.UsbInfo = usb;
}
IOKit.IOObjectRelease (device);
this.DeviceDisappeared (this, deviceArguments);
GC.KeepAlive (this);
}
示例3: GetUUIDFromProperties
protected static string GetUUIDFromProperties(NSDictionary properties)
{
// this is somewhat troublesome
// some devices have a filesystem UUID (i.e. HFS+ formated ones), but most other devices don't.
// As the different devices/volumes have not really always a key in common, we use different keys
// depending on the device type, and generate a UUID conforming 16byte value out of it
string uuid_src =
properties.GetStringValue ("DAMediaBSDName") ??
properties.GetStringValue ("DADevicePath") ??
properties.GetStringValue ("DAVolumePath");
if (string.IsNullOrEmpty (uuid_src)) {
Hyena.Log.ErrorFormat ("Tried to create a device for which we can't determine a UUID");
throw new ApplicationException ("Could not determine a UUID for the device");
}
// TODO actually transform into a real UUID
return uuid_src;
}