Как объявить константу Guid в C #? - PullRequest
49 голосов
/ 08 февраля 2011

Можно ли объявить константу Guid в C #?

Я понимаю, что могу объявить static readonly Guid, но есть ли синтаксис, который позволяет мне писать const Guid?

Ответы [ 5 ]

56 голосов
/ 08 февраля 2011

Нет.Модификатор const применяется только к «примитивным» типам (bool, int, float, double, long, decimal, short, byte) и строкам.В основном все, что вы можете объявить как литерал.

39 голосов
/ 20 октября 2011

Объявите его как static readonly Guid вместо const Guid

25 голосов
/ 17 августа 2012
public static readonly Guid Users = new Guid("5C60F693-BEF5-E011-A485-80EE7300C695");

и все.

22 голосов
/ 08 февраля 2011

Хотя вы, кажется, не можете этого сделать, вы можете делать это для анализа, когда вам это нужно:

const string _myGuidStr = "e6b86ea3-6479-48a2-b8d4-54bd6cbbdbc5";

Но не используйте приведенный выше гид, поскольку он принадлежит только мне, я сначаласгенерировал его, поэтому я утверждаю право собственности на этот конкретный гид выше!Но я щедрый - используйте это вместо этого (мне не нравится, как он говорит мне, но в целом это хороший гид, когда он держит язык за зубами): 284c694d-d9cc-446b-9701-b391876c8394

5 голосов
/ 23 июля 2012

Я делаю это так:

public static class RecordTypeIds
{
    public const string USERS_TYPEID = "5C60F693-BEF5-E011-A485-80EE7300C695";
    public static Guid Users { get { return new Guid(EntityTypeIds.USERS_TYPEID); } }
}
...