нужен ли C#-у «state»?

от автора

Ребята, это скорее приглашение к конструктивному обсуждению, чем статья. Столкнулся с тем, что в C# как таковом нет понятия «состояния», а точнее — нет встроенной удобной возможности запомнить состояние сложного объекта в определенный момент, чтобы потом легко сравнивать, или другие объекты такого же типа находятся в таком же состоянии? Ниже я предлагаю пример — как бы это могло выглядеть.

Какой-нибудь пользовательский класс

class Test {     [StateAtt(StateCompareOption.AnyButNotThis)] // любое значение, кроме указанного     public double somefiled;      public double anothersomefiled; // этому полю атрибут не присвоен - оно в сравнении не участвует      [StateAtt(StateCompareOption.ExactlyLikeThis)] // только такое значение     public string StringProp { get; set; }      public int IntProp { get; set; } // этому свойству атрибут не присвоен - оно тоже игнорируется      public Test(string StringProp, int IntProp, double somefiled, double anothersomefield)     {         this.StringProp = StringProp;         this.IntProp = IntProp;         this.somefiled = somefiled;         this.anothersomefiled = anothersomefield;     } } 

Test a1 = new Test("text", 1, 50.4251, 34);  State<Test> state = State<Test>.CreateState(a1);  Test a2 = new Test("text", 1, 50.4252, 34);  state.IsInTheSameState(a2).ToString().ToConsole(); // вернет true 

Ребята, хочу спросить ваше мнение. Как считаете, будет ли такой инструмент полезен в разработке?

ссылка на оригинал статьи http://habrahabr.ru/post/270099/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *