Шаблон класса значения типа C # - PullRequest
4 голосов
/ 19 января 2010

Я пишу / пишу структуру типа значения и мне было интересно, есть ли руководство, которое содержит стандартный шаблон для сигнатур методов и реализации интерфейса. Я подумал, что начну с просмотра документации System.Double:

struct def

public struct Double : IComparable, IFormattable, 
IConvertible, IComparable<double>, IEquatable<double>

Двойные методы

Есть ли стандартный подход к созданию структуры типа значения?

Спасибо

1 Ответ

6 голосов
/ 19 января 2010

Сам по себе шаблон не существует, но, безусловно, есть рекомендации . Самое важное правило - типы значений должны быть неизменными. Нарушайте это правило, только если точно знаете, что делаете.

В дополнение к рекомендациям, перечисленным в статье MSDN, на которую я ссылаюсь, я также рекомендую:

  1. Переопределить Object.Equals и Object.GetHashCode.
  2. Реализация == и !=.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...