В Objective-C я могу заставить свой подкласс NSTextField соответствовать протоколу NSTextViewDelegate, например:
@interface PasswordField : NSTextField <NSTextViewDelegate>
Как я могу перевести эту идиому на С#/мономак?
Я попытался создать подкласс NSTextViewDelegate:
private class TextViewDelegate : NSTextViewDelegate
{}
И присвоив это свойству делегата моего подкласса NSTextField:
public class PasswordField : NSTextField
{
public PasswordField(NSCoder coder) : base(coder)
{
this.Delegate = new TextViewDelegate();
}
}
Однако очевидно, что это не работает, поскольку свойство Delegate элемента NSTextField (правильно) имеет тип NSTextFieldDelegate.
Error CS0029: Cannot implicitly convert type `PasswordFieldControl.PasswordField.TextViewDelegate' to `MonoMac.AppKit.NSTextFieldDelegate' (CS0029)
Итак, как заставить это работать так же, как в Objective-C?