static void RegisterLicense(string licenseName, Action <string> action) { var type = typeof(Program); var rm = new ResourceManager($"{type.Namespace}.Properties.Resources", type.Assembly); var obj = (byte[])rm.GetObject(licenseName); if (obj != null) { var license = Encoding.UTF8.GetString(obj); if (string.IsNullOrEmpty(license) == false) { try { action(license); } catch (Exception e) { CremaLog.Error(new Exception($"register license failed : {licenseName}", e)); } return; } } CremaLog.Warn($"license does not registered : {licenseName}"); }
static Program() { RegisterLicense($"{typeof(Program).Namespace}.Licenses.Newtonsoft.Json.Schema.license", item => Newtonsoft.Json.Schema.License.RegisterLicense(item)); void RegisterLicense(string licenseName, Action <string> action) { try { using (var stream = typeof(Program).Assembly.GetManifestResourceStream(licenseName)) using (var reader = new StreamReader(stream)) { var license = reader.ReadToEnd(); if (license == string.Empty) { CremaLog.Warn($"license does not registered : {licenseName}"); } else { action(license); } } } catch (Exception e) { CremaLog.Error(new Exception($"register license failed : {licenseName}", e)); } } }
static App() { CremaLog.RedirectionWriter = writer; RegisterLicense($"{typeof(App).Namespace}.Licenses.Newtonsoft.Json.Schema.license", item => Newtonsoft.Json.Schema.License.RegisterLicense(item)); RegisterLicense($"{typeof(App).Namespace}.Licenses.Xceed.Wpf.DataGrid.license", item => Xceed.Wpf.DataGrid.Licenser.LicenseKey = item); RegisterLicense($"{typeof(App).Namespace}.Licenses.Xceed.Wpf.Toolkit.license", item => Xceed.Wpf.Toolkit.Licenser.LicenseKey = item); void RegisterLicense(string licenseName, Action <string> action) { try { using (var stream = typeof(App).Assembly.GetManifestResourceStream(licenseName)) using (var reader = new StreamReader(stream)) { var license = reader.ReadToEnd(); if (license == string.Empty) { CremaLog.Warn($"license does not registered : {licenseName}"); } else { action(license); } } } catch (Exception e) { CremaLog.Error(new Exception($"register license failed : {licenseName}", e)); } } }
public void Warn(object message) { CremaLog.Warn(message); }