CSharp
これは簡単に Attribute 化できそうです。 [AttributeUseage(AttributeTargets.Method)] public class MessageHandlerAttribute : Attribute { public int id; public MessageHandlerAttribute(int msgId) { id = msgId; } } 完成……、というのはあまりにもな…
さて、C# でも*1(利用者に)楽ができるようにしたいものです。目標とすることは色々とありますが、特定のクラスに別のクラスの実装を付与する必要があります。このようなことをアグリゲートとか Mix-in とかアスペクト思考的などと呼ぶようですが、C# では …
典型的な実装として、has-a の関係にすることが考えられます。 public class Concrete1 : IFoo { public Concrete11() { impl_foo = new FooImplement(this); } #region IFoo interface implementation public int foo { // FooImplement クラスへ委任します…
いきなり重めの話題ですが、あまりないことではあるものの、それなりの需要として interface の実装を委任したい場合があります。この実装に関しては C++ であれば多重継承なんかを用いるところなのですが、C# では多重継承はできませんので、別の手法を考え…