public void GetInstanceTest() { SingleClass actual1 = SingleClass.GetInstance(); SingleClass actual2 = SingleClass.GetInstance(); SingleClass actual3 = SingleClass.GetInstance(); SingleClass actual4 = SingleClass.GetInstance(); SingleClass actual5 = SingleClass.GetInstance(); Assert.AreEqual(actual1, actual2); Assert.AreEqual(actual1, actual3); Assert.AreEqual(actual1, actual4); Assert.AreEqual(actual1, actual5); }
/// <summary> /// 线程安全的获取单例实例 /// </summary> /// <returns></returns> public static SingleClass GetInstanceAsync() { if (_instance == null) { lock (_lock) { if (_instance == null) { _instance = new SingleClass(); } } } return(_instance); }
public static void Used() { //获取单一实例 SingleClass singleClass = SingleClass.GetInstance(); Console.WriteLine("Object Create Time:" + singleClass.GetCreateTimeStamp()); SingleClass singleClass2 = SingleClass.GetInstance(); Console.WriteLine("Object2 Create Time:" + singleClass2.GetCreateTimeStamp()); SingleClass singleClass3 = SingleClass.GetInstance(); Console.WriteLine("Object3 Create Time:" + singleClass3.GetCreateTimeStamp()); }
public async Task ReturnsBreakingWhenClassChangesTypeDefinition() { var oldCode = new List <CodeSource> { new(SingleClass) }; var newCode = new List <CodeSource> { new(SingleClass.Replace("class", "interface")) }; var options = OptionsFactory.BuildOptions(); var result = await _calculator.CalculateChanges(oldCode, newCode, options, CancellationToken.None) .ConfigureAwait(false); result.ChangeType.Should().Be(SemVerChangeType.Breaking); }
/// <summary> /// 进程安全获取唯一实例 /// </summary> /// <returns></returns> public static SingleClass GetInstanceProcessAsync() { if (_name.Length > 260) { _name = _name.Substring(_name.Length - 261); } try { //MutexSecurity ms = new MutexSecurity(_name, System.Security.AccessControl.AccessControlSections.Access); _mutex = new Mutex(true, _name, out bool res); if (res) { _mutex.ReleaseMutex(); if (_instance == null) { lock (_lock) { if (_instance == null) { _instance = new SingleClass(); } } } } else { if (Mutex.TryOpenExisting(_name, out _mutex)) { // } else { // } } } catch (Exception e) { } return(_instance); }
public async Task EvaluatesChangeOfClassAccessModifiers( string oldModifiers, string newModifiers, SemVerChangeType expected) { var oldCode = new List <CodeSource> { new(SingleClass.Replace("public class MyClass", oldModifiers + " class MyClass")) }; var newCode = new List <CodeSource> { new(SingleClass.Replace("public class MyClass", newModifiers + " class MyClass")) }; var options = OptionsFactory.BuildOptions(); var result = await _calculator.CalculateChanges(oldCode, newCode, options, CancellationToken.None) .ConfigureAwait(false); result.ChangeType.Should().Be(expected); }
public static List <SingleClass> GetClasses() { var db = new DnevnikEntities(); var classes = db.Classes.Where(c => c.Id > 1).OrderBy(c => c.Number).ThenBy(c => c.Letter); List <SingleClass> classesList = new List <SingleClass>(); foreach (var item in classes) { SingleClass c = new SingleClass() { Id = item.Id, Number = item.Number, Letter = ConvertClassLetter(item.Letter) }; classesList.Add(c); } db.Dispose(); return(classesList); }
public ValuesController(IOptionsSnapshot <Configs> config, IConfiguration conf, LibClass _lib, SingleClass _single) { Config = config.Value; _conf = conf; lib = _lib; single = _single; }
public void ShoudSerializeDynamicAssembly() { var ignore1 = new SingleStruct { MyProperty = 100 }; var success1 = new SingleStruct { MyProperty = 190 }; var ignore2 = new SingleClass { MyProperty = "Foo" }; var success2 = new SingleClass { MyProperty = "Bar" }; var ignore3 = new Multi { MyProperty0 = 99, MyProperty1 = "Foo", MyProperty2 = null, MyProperty4 = 100 }; var success3 = new Multi { MyProperty0 = 99, MyProperty1 = "FooFoo", MyProperty2 = null, MyProperty4 = 10000 }; { var f1 = JsonSerializer.ToJsonString(ignore1, StandardResolver.Default); var s1 = JsonSerializer.ToJsonString(success1, StandardResolver.Default); var f2 = JsonSerializer.ToJsonString(ignore2, StandardResolver.Default); var s2 = JsonSerializer.ToJsonString(success2, StandardResolver.Default); var f3 = JsonSerializer.ToJsonString(ignore3, StandardResolver.Default); var s3 = JsonSerializer.ToJsonString(success3, StandardResolver.Default); f1.Is("{}"); s1.Is("{\"MyProperty\":190}"); f2.Is("{}"); s2.Is("{\"MyProperty\":\"Bar\"}"); f3.Is("{\"MyProperty0\":99,\"MyProperty2\":null}"); s3.Is("{\"MyProperty0\":99,\"MyProperty1\":\"FooFoo\",\"MyProperty2\":null,\"MyProperty4\":10000}"); } { var f1 = JsonSerializer.ToJsonString(ignore1, StandardResolver.ExcludeNull); var s1 = JsonSerializer.ToJsonString(success1, StandardResolver.ExcludeNull); var f2 = JsonSerializer.ToJsonString(ignore2, StandardResolver.ExcludeNull); var s2 = JsonSerializer.ToJsonString(success2, StandardResolver.ExcludeNull); var f3 = JsonSerializer.ToJsonString(ignore3, StandardResolver.ExcludeNull); var s3 = JsonSerializer.ToJsonString(success3, StandardResolver.ExcludeNull); f1.Is("{}"); s1.Is("{\"MyProperty\":190}"); f2.Is("{}"); s2.Is("{\"MyProperty\":\"Bar\"}"); f3.Is("{\"MyProperty0\":99}"); s3.Is("{\"MyProperty0\":99,\"MyProperty1\":\"FooFoo\",\"MyProperty4\":10000}"); } }