开发者

How to declare a constant Guid in C#?

Is it possible to declare a cons开发者_Python百科tant Guid in C#?

I understand that I can declare a static readonly Guid, but is there a syntax that allows me to write const Guid?


No. The const modifier only applies to "primitive" types (bool, int, float, double, long, decimal, short, byte) and strings. Basically anything you can declare as a literal.


Declare it as static readonly Guid rather than const Guid


public static readonly Guid Users = new Guid("5C60F693-BEF5-E011-A485-80EE7300C695");

and that's that.


While you can't seem to do that you can do that to be parsed whenever you need it:

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

But don't use the above guid as it belongs to me solely, I first generated it so I claim ownership on this particular guid above! But I'm generious - use this one instead (I don't like how it talks back to me but it's a nice guid overall when it keeps its mouth shut): 284c694d-d9cc-446b-9701-b391876c8394


I am doing it like this:

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); } }
}


Depends on what you want a const for.

If you want to have a known GUID that you can reuse as needed, the above solution of storing the GUID as a string and parsing to GUID as needed works.

If you need a default parameter value, that won't work. The alternative is to use a nullable Guid and use null as your constant value.

public void Foo(string aParameter, Guid? anOptionalGuid = null)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜