Lor*_*o B 16 object type-conversion nsobject xamarin.ios
如何将Object实例转换为NSObject?
我从中创建了一个NSDictionary
NSDictionary.FromObjectAndKey();
Run Code Online (Sandbox Code Playgroud)
这个方法想要一个NSObject,但我有传入的自定义对象:
int key = 2341;
var val = new MyClass();
NSDictionary.FromObjectAndKey(val, key); // obviously it does not work!!
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?先感谢您.
mig*_*aza 13
您无法将任意对象转换为NSObject.NSObject.FromObject将尝试将常见数据类型(如数字,字符串,矩形,点,变换和一些其他.NET类型)包装到其等效的NSObject类型中.
在您的特定示例中,"MyClass"必须先从NSObject派生,然后才能在NSDictionary中使用它.
小智 9
我能找到的最简单的解决方案是将.Net对象包装在NSObject中,然后根据需要展开.
public class NSObjectWrapper : NSObject
{
public object Context;
public NSObjectWrapper (object obj) : base()
{
this.Context = obj;
}
public static NSObjectWrapper Wrap(object obj)
{
return new NSObjectWrapper(obj);
}
}
Run Code Online (Sandbox Code Playgroud)
使用示例:
// wrap
var myNSObj = NSObjectWrapper.Wrap(new MyClass());
// unwrap
var myObj = myNSObj.Context as MyClass;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7803 次 |
| 最近记录: |