【发布时间】:2018-01-05 14:21:06
【问题描述】:
我正在尝试将 Swift 代码解释为 C# 代码。但是最后两行失败了。
斯威夫特:
override func viewDidLoad() {
let registry = Registry(queue: nil)
registry.delegate = self
registry.desiredType = [desiredType.IP]
}
C#:
public override void ViewDidLoad() {
base.ViewDidLoad();
Registry registry = new Registry(null);
registry.Delegate = this;
registry.desiredType = desiredType.IP;
}
错误:
ViewController.cs(23,23):错误 CS0266:无法隐式转换类型 'ViewController' 到 'IRegistryDelegate'。存在显式转换 (你错过了演员吗?)(CS0266)
ViewController.cs(31,31):错误 CS0029:无法隐式转换类型 'Foundation.NSString' 到 'Foundation.NSSet' (CS0029)
【问题讨论】:
-
this是IRegistryDelegate吗?第二个错误超出了您显示的代码。 -
[desiredType.IP]这是一个数组/集合。并且错误说desiredType.IP是一个NSString (Foundation.NSString) 而不是NSSet.. 另外,您是否使您的ViewController 符合IRegistryDelegate?
标签: c# ios swift xamarin xamarin.ios