public void GetPropertyValue_Test() { var dog = new Dog() { Foo = "test" }; var v1 = LambdaExtensions.GetPropertyValue(dog, nameof(dog.Foo)); Assert.Equal(dog.Foo, v1); var cat = new Cat() { Foo = 1 }; var v2 = LambdaExtensions.GetPropertyValue(cat, nameof(cat.Foo)); Assert.Equal(cat.Foo, v2); var fish = new Fish() { Foo = "test" }; var v3 = LambdaExtensions.GetPropertyValue(fish, nameof(fish.Foo)); Assert.Equal(fish.Foo, v3); var persian = new Persian() { Foo = 1 }; var v4 = LambdaExtensions.GetPropertyValue(persian, nameof(persian.Foo)); Assert.Equal(persian.Foo, v4); }
static void Main(string[] args) { Persian kitty = new Persian(); Persian bbomi = new Persian(); kitty.Name = "키티"; kitty.Color = "하얀색"; bbomi.Name = "뽀미"; bbomi.Color = "회색"; BullDog tomy = new BullDog(); BullDog kaltok = new BullDog(); tomy.Name = "토미"; tomy.Color = "검은색"; kaltok.Name = "칼톡"; kaltok.Color = "회백색"; ArrayList animal = new ArrayList(); animal.Add(kitty); animal.Add(bbomi); animal.Add(tomy); animal.Add(kaltok); for (int i = 0; i < animal.Count - 2; i++) { Console.WriteLine(((Cat)animal[i]).Name); } for (int i = 2; i < animal.Count; i++) { Console.WriteLine(((Dog)animal[i]).Name); } List <Cat> catList = new List <Cat>(); catList.Add(kitty); catList.Add(bbomi); foreach (Cat c in catList) { Console.WriteLine($"{c.Name} : {c.Color}"); } Stack <Dog> dogStack = new Stack <Dog>(); dogStack.Push(tomy); dogStack.Push(kaltok); for (int i = 0; i <= dogStack.Count; i++) { Console.WriteLine((dogStack.Pop()).Name); } }
private void OnDateChanged(DateTimeValue x) { HasValue = true; DateTime date = DateTime.Now; if (1 == 0) { } else if (x is PersianDateValue) { date = Persian.ToDateTime(); } else if (x is GregorianDateValue) { date = Gregorian.ToDateTime(); } else if (x is HijriDateValue) { date = Hijri.ToDateTime(); } if (persian != null && !(x is PersianDateValue)) { Persian.DateChanged -= OnDateChanged; Persian.Read(date); } if (gregorian != null && !(x is GregorianDateValue)) { Gregorian.DateChanged -= OnDateChanged; Gregorian.Read(date); } if (hijri != null && !(x is HijriDateValue)) { Hijri.DateChanged -= OnDateChanged; Hijri.Read(date); } if (persian != null && !(x is PersianDateValue)) { Persian.DateChanged += OnDateChanged; } if (gregorian != null && !(x is GregorianDateValue)) { Gregorian.DateChanged += OnDateChanged; } if (hijri != null && !(x is HijriDateValue)) { Hijri.DateChanged += OnDateChanged; } }
public void SetPropertyValue_Test() { var dog = new Dog() { Foo = "test" }; var v1 = LambdaExtensions.SetPropertyValueLambda <Dog, string>(dog, nameof(dog.Foo)).Compile(); v1.Invoke(dog, "test1"); Assert.Equal("test1", dog.Foo); var cat = new Cat() { Foo = 1 }; var v2 = LambdaExtensions.SetPropertyValueLambda <Cat, int>(cat, nameof(cat.Foo)).Compile(); v2.Invoke(cat, 2); Assert.Equal(2, cat.Foo); var fish = new Fish() { Foo = "test" }; var v3 = LambdaExtensions.SetPropertyValueLambda <Fish, string>(fish, nameof(fish.Foo)).Compile(); v3.Invoke(fish, "test1"); Assert.Equal("test1", fish.Foo); var persian = new Persian() { Foo = 1 }; var v4 = LambdaExtensions.SetPropertyValueLambda <Persian, int>(persian, nameof(persian.Foo)).Compile(); v4.Invoke(persian, 2); Assert.Equal(2, persian.Foo); }
private void OnDateChanged(DateTimeValue x) { HasValue = true; DateTime date = DateTime.Now; if (x is PersianDateValue) { date = Persian.ToDateTime(); } else if (x is GregorianDateValue) { date = Gregorian.ToDateTime(); } else if (x is HebrewDateValue) { date = Hebrew.ToDateTime(); } else if (x is HijriDateValue) { date = Hijri.ToDateTime(); } else if (x is JulianDateValue) { date = Julian.ToDateTime(); } else if (x is KoreanDateValue) { date = Korean.ToDateTime(); } else if (x is JapaneseDateValue) { date = Japanese.ToDateTime(); } else if (x is TaiwanDateValue) { date = Taiwan.ToDateTime(); } else if (x is KoreanLunisolarDateValue) { date = KoreanLunisolar.ToDateTime(); } else if (x is JapaneseLunisolarDateValue) { date = JapaneseLunisolar.ToDateTime(); } else if (x is TaiwanLunisolarDateValue) { date = TaiwanLunisolar.ToDateTime(); } else if (x is ChineseLunisolarDateValue) { date = ChineseLunisolar.ToDateTime(); } if (persian != null && !(x is PersianDateValue)) { Persian.DateChanged -= OnDateChanged; Persian.Read(date); } if (gregorian != null && !(x is GregorianDateValue)) { Gregorian.DateChanged -= OnDateChanged; Gregorian.Read(date); } if (julian != null && !(x is JulianDateValue)) { Julian.DateChanged -= OnDateChanged; Julian.Read(date); } if (hebrew != null && !(x is HebrewDateValue)) { Hebrew.DateChanged -= OnDateChanged; Hebrew.Read(date); } if (hijri != null && !(x is HijriDateValue)) { Hijri.DateChanged -= OnDateChanged; Hijri.Read(date); } if (korean != null && !(x is KoreanDateValue)) { Korean.DateChanged -= OnDateChanged; Korean.Read(date); } if (japanese != null && !(x is JapaneseDateValue)) { Japanese.DateChanged -= OnDateChanged; Japanese.Read(date); } if (taiwan != null && !(x is TaiwanDateValue)) { Taiwan.DateChanged -= OnDateChanged; Taiwan.Read(date); } if (koreanLunisolar != null && !(x is KoreanLunisolarDateValue)) { KoreanLunisolar.DateChanged -= OnDateChanged; KoreanLunisolar.Read(date); } if (japaneseLunisolar != null && !(x is JapaneseLunisolarDateValue)) { JapaneseLunisolar.DateChanged -= OnDateChanged; JapaneseLunisolar.Read(date); } if (taiwanLunisolar != null && !(x is TaiwanLunisolarDateValue)) { TaiwanLunisolar.DateChanged -= OnDateChanged; TaiwanLunisolar.Read(date); } if (chineseLunisolar != null && !(x is ChineseLunisolarDateValue)) { ChineseLunisolar.DateChanged -= OnDateChanged; ChineseLunisolar.Read(date); } if (persian != null && !(x is PersianDateValue)) { Persian.DateChanged += OnDateChanged; } if (gregorian != null && !(x is GregorianDateValue)) { Gregorian.DateChanged += OnDateChanged; } if (julian != null && !(x is JulianDateValue)) { Julian.DateChanged += OnDateChanged; } if (hebrew != null && !(x is HebrewDateValue)) { Hebrew.DateChanged += OnDateChanged; } if (hijri != null && !(x is HijriDateValue)) { Hijri.DateChanged += OnDateChanged; } if (korean != null && !(x is KoreanDateValue)) { Korean.DateChanged += OnDateChanged; } if (japanese != null && !(x is JapaneseDateValue)) { Japanese.DateChanged += OnDateChanged; } if (taiwan != null && !(x is TaiwanDateValue)) { Taiwan.DateChanged += OnDateChanged; } if (koreanLunisolar != null && !(x is KoreanLunisolarDateValue)) { KoreanLunisolar.DateChanged += OnDateChanged; } if (japaneseLunisolar != null && !(x is JapaneseLunisolarDateValue)) { JapaneseLunisolar.DateChanged += OnDateChanged; } if (taiwanLunisolar != null && !(x is TaiwanLunisolarDateValue)) { TaiwanLunisolar.DateChanged += OnDateChanged; } if (chineseLunisolar != null && !(x is ChineseLunisolarDateValue)) { ChineseLunisolar.DateChanged += OnDateChanged; } }