質問タイトルが示唆するように、私はAction<string>
をインターフェイスに追加したいと思います。これは可能ですか?現時点では、それはあなたがプロパティとして追加する必要があると思いInterfaces cannot contain fields
アクションに<string>アクションを追加するにはどうすればよいですか?
答えて
言う:
public interface IYourInterface
{
Action<string> YourAction { get; set; }
}
を取得/設定しなければ、それはただのフィールドだし、コンパイラが指摘するようにインタフェースがフィールドを含めることはできません。 (もちろん、それは簡単な自動プロパティかも知れません)これは、このインターフェイスを実装するときには、同様に実際のプロパティを指定する必要がありますことを意味しない:あなたが、その後からあなたAction<string>
を使用することができることを考えると
public class Foo : IYourInterface
{
public Action<string> YourAction { get; set; }
// ...
}
をインターフェース:
IYourInterface iFoo = new Foo();
iFoo.YourAction = s => Console.WriteLine(s);
iFoo.YourAction("Hello World!");
ハンスは、あなたがしたい場合は、あなたのインターフェイスにだけget
(あるいは単にset
)を示すことができ、示されたように。これはクラスがに他のクラスを持たせることができないことを意味するものではなく、インターフェイスを通じてアクセスできないことを意味します。たとえば:
public interface IYourInterface
{
Action<string> YourAction { get; }
}
public class Foo : IYourInterface
{
public Action<string> YourAction { get; set; }
}
は、したがって、上記のコードでは、あなたは、インターフェイスを介してのみget
としてYourAction
プロパティにアクセスすることができますが、あなたはFoo
クラスからset
またはget
それをできました。
追加の注記として、インターフェースでは、 "get"だけを指定することができます: 'Action
非常に真です。あなたはそれがセットを持っていることだけを指定することもできます(これはやや役に立たないですが)。 –
インターフェイスにはフィールドを含めることはできませんが、インターフェイスにはプロパティを含めることができるため、そのように追加できます。
私は引用:
「インターフェイスは、メソッド、プロパティ、イベント、インデクサ、またはこれら4つのメンバー型のいずれか 組み合わせからなるインタフェースは 定数、フィールド、演算子、インスタンスコンストラクタ、デストラクタを含めることはできません。 。、または タイプは静的メンバを含めることはできません、「インターフェイスのメンバーは 自動的に公開され、それらが任意のアクセス修飾子を含めることはできません
アクションフェイルドであるから - 。それができませんでしたインタフェースの一部 http://msdn.microsoft.com/en-us/library/ms173156.aspx
誰がフィールドでなければならないと言いますか?それは財産でもあります。 – rideronthestorm
- 1. Xcode 4.3.1のクラスにアクションまたはコンセントを追加するにはどうすればよいですか?
- 2. タイムラインカードに「ウェブサイトを表示」アクションを追加するにはどうすればよいですか?
- 3. script/railsで新しいアクションとビューを追加するにはどうすればよいですか?
- 4. UIPickerの変更にアクションを追加するにはどうすればよいですか?
- 5. フィードダイアログに[共有]アクションを追加するにはどうすればよいですか?
- 6. unknownContentTypeダイアログにもう1つのアクションを追加するにはどうすればいいですか?
- 7. Akhetのadd_handlerで一般的な「コントローラ/アクション」ルートを追加するにはどうすればよいですか?
- 8. アクション固有のアセットパイプラインアイテムを追加するにはどうすればよいですか?
- 9. タブバーアイテムからアクションをトリガーするにはどうすればよいですか?
- 10. あるアクションから次のアクションに変数を渡すにはどうすればいいですか?
- 11. 作成アクションを記録するにはどうすればよいですか?
- 12. UITabBarItemアクションを変更するにはどうすればよいですか?
- 13. UITextviewにアクションを追加するには?
- 14. レール3の別のアクションから更新アクションを呼び出すにはどうすればよいですか?
- 15. クラスに適用したアクションに従うためにjQueryで追加する要素を取得するにはどうすればよいですか?
- 16. Rails:コントローラにアクションを追加する
- 17. Capistranoタスクにアクションを追加する
- 18. エンティティクラスに<String、List <String>>マップを追加するにはどうすればよいですか?
- 19. 既に作成されたコントローラに新しいアクションを追加するにはどうすればよいですか?
- 20. jqueryで動的に作成された要素にアクションを追加するにはどうすればよいですか?
- 21. コントローラーに新しいアクションを追加するにはどうしたらいいですか?
- 22. Androidで「アクションを選択」から「アクションを完了する」に変更するにはどうすればよいですか?
- 23. Jqueryを使用して要素がページに追加されたときにアクションを実行するにはどうすればよいですか?
- 24. 深いJSONオブジェクトをアクションに送信するにはどうすればよいですか?
- 25. 数秒間に何らかのアクションを実行するにはどうすればよいですか?
- 26. MySQLクエリ(://、<、=、など)に他のテキスト/文字を追加するにはどうすればよいですか?
- 27. Eclipseツールバーで保存アクションを有効にするにはどうすればよいですか?
- 28. ASP.NET MVCでユーザーにアクション「成功」フィードバックを提供するにはどうすればよいですか?
- 29. Playframework:特定のアクションでセッション/ Cookieを無効にするにはどうすればよいですか?
- 30. Scala Play Frameworkでサーバーの起動時にアクションを実行するにはどうすればよいですか?
代理店を契約/インターフェースに追加するのは悪い設計です。 –
@KirillPolishchukあなたはそれを説明する/証明することができますか? – anatol