public enum Gender { Male, Female };
public interface IPerson {
void setGender(Gender g);
}
↑コレとこんぱちなコードをC++/CLIで書くテスト。
public enum class Gender { Male, Female };
public interface class IPerson {
void setGender(Gender^ g);
};
こんなもんでしょ。アセンブリこさえてC#から使ってみる:
class Program : IPerson {
public void setGender(Gender g) {
...
}
}
エラー CS0535: 'Program' はインターフェイス メンバ
'IPerson.setGender(System.Enum)' を実装しません。
(゚Д゚)ハア? System.Enumぅ? なぁに寝ぼけたコト言うてんの?
原因がわかりました。enum class を型とする引数/戻り値に ^ つけちゃいかんみたい。
正しくは
public interface class IPerson {
void setGender(Gender g); // ^不要
};
わはー。