0
在Objective-C,我可以让我的NSTextField的子类,符合的NSTextViewDelegate协议 - 像这样:MONOMAC/Xamarin.Mac - 衍生的NSTextField使用NSTextViewDelegate
@interface PasswordField : NSTextField <NSTextViewDelegate>
如何翻译这个成语C#/monomac?
我试图继承NSTextViewDelegate:
private class TextViewDelegate : NSTextViewDelegate
{}
和分配,为我的NSTextField子类的委托财产:
public class PasswordField : NSTextField
{
public PasswordField(NSCoder coder) : base(coder)
{
this.Delegate = new TextViewDelegate();
}
}
但是,显然,这并不因为的代表物业工作NSTextField(正确)键入为NSTextFieldDelegate。
Error CS0029: Cannot implicitly convert type `PasswordFieldControl.PasswordField.TextViewDelegate' to `MonoMac.AppKit.NSTextFieldDelegate' (CS0029)
那么如何使它在Objective-C中的工作?
是的,我在我的问题中说过。在Objective-C中,子类NSTextField可能符合NSTextViewDelegate协议。我想知道如何在C#/ MonoMac中重新创建这个成语。 – TheNextman 2013-02-22 15:56:24
如果你真的想这样做,将它分配给.WeakDelegate而不是.Delegate,但我建议不要这样做。您必须将[Export(...)]属性应用于委托方法。 – Curtis 2013-02-22 19:33:29
我已更正答案 – Curtis 2013-02-22 20:11:03