/// <summary> /// Builds type wise version number cache. /// </summary> /// <param name="objType"></param> /// <returns></returns> private static VersionNumbers BuildVersionCache(Type objType) { var versionTypeAttribute = Attribute.GetCustomAttribute(objType, typeof(VersionTypeAttribute)) as VersionTypeAttribute; if (versionTypeAttribute == null) { throw new ArgumentException("No version type attribute specified for the type"); } var versionNo = versionTypeAttribute.Version; TypeVersionCache.TryAdd(objType, versionNo); return(versionNo); }