有没有办法可以将扩展方法转换为属性?

时间:2014-09-01 10:08:03

标签: c# extension-methods

问题来自两个要求:

  1. 我正在使用扩展方法扩展一个类(来自其他没有源代码的地方)。
  2. 我要将它绑定到windows窗体控件的属性,这需要一个属性。
  3. 所以我现在的代码是:

    public static class SomeClassExtender
    {
        public static string GetSomeProp(this SomeClass instance) { ... }
        public static void SetSomeProp(this SomeClass instance, string value) { ... }
    }
    
    public class SomeClassWrapper
    {
        private SomeClass instance;
        public SomeClassWrapper(SomeClass instance) { this.instance = instance; }
        public string SomeProp 
        {
            get { return this.instance.GetSomeProp(); } 
            set { this.instance.SetSomeProp(value); }
        }
    }
    

    这些代码确实有效,但是如果有更好的方法可以实现这一点我感兴趣,可能是属性还是什么?

0 个答案:

没有答案