From 77ec8bfc6df897000619abaa6c9068942a3775c2 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 29 Dec 2017 00:44:42 -0800 Subject: Improve Identifier constructor --- src/WixToolset.Data/Identifier.cs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/WixToolset.Data/Identifier.cs b/src/WixToolset.Data/Identifier.cs index 84c80081..ffb04cd7 100644 --- a/src/WixToolset.Data/Identifier.cs +++ b/src/WixToolset.Data/Identifier.cs @@ -12,20 +12,40 @@ namespace WixToolset.Data [DebuggerDisplay("{Access} {Id,nq}")] public class Identifier { - public static Identifier Invalid = new Identifier(null, AccessModifier.Private); + public static Identifier Invalid = new Identifier(AccessModifier.Private, (string)null); + // TODO: [Obsolete] this constructor. public Identifier(string id, AccessModifier access) { this.Id = id; this.Access = access; } + // TODO: [Obsolete] this constructor. public Identifier(int id, AccessModifier access) { this.Id = id.ToString(); this.Access = access; } + public Identifier(AccessModifier access, string id) + { + this.Access = access; + this.Id = id; + } + + public Identifier(AccessModifier access, params string[] ids) + { + this.Access = access; + this.Id = String.Join("/", ids); + } + + public Identifier(AccessModifier access, int id) + { + this.Access = access; + this.Id = id.ToString(); + } + /// /// Access modifier for a tuple. /// @@ -42,7 +62,7 @@ namespace WixToolset.Data var accessValue = jsonObject.GetValueOrDefault("access"); Enum.TryParse(accessValue, true, out AccessModifier access); - return new Identifier(id, access); + return new Identifier(access, id); } internal JsonObject Serialize() -- cgit v1.2.3-55-g6feb