shuhelohelo’s blog

Xamarin.Forms多めです.

マーカーインターフェースと拡張メソッド

拡張メソッドを生やすときに,生やせるクラスに制限を設けるための「空のインターフェース」.

目印の役割を果たす.

つまり,言い換えると拡張メソッドをはやしたいクラスに継承させておけば,よい.

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var test=new Test1();

            test.MyExtension();

            var test2 = new Test2();
           
        }
    }

    public static class Extensions
    {
        public static void MyExtension(this ITest me)
        {
        }
    }

    public interface ITest
    {
    }

    public class Test1:ITest
    {
    }

    public class Test2
    {
    }