Ejemplo n.º 1
0
        public void Get_取得できるその1()
        {
            // Arrange
            // Act
            var attribute = EnumAttributeCache <Fruit, DisplayAttribute> .Get(Fruit.None);

            // Assert
            Assert.Null(attribute);
        }
Ejemplo n.º 2
0
        public void Get_取得できるその2()
        {
            // Arrange
            // Act
            // Fruitの属性が遅延実行でキャッシュされる
            var attribute1 = EnumAttributeCache <Fruit, DisplayAttribute> .Get(Fruit.Apple);

            var attribute2 = EnumAttributeCache <Fruit, DisplayAttribute> .Get(Fruit.Banana);

            // Vegetableの属性が遅延実行でキャッシュされる
            var attribute3 = EnumAttributeCache <Vegetable, DisplayAttribute> .Get(Vegetable.Onion);

            var attribute4 = EnumAttributeCache <Vegetable, DisplayAttribute> .Get(Vegetable.Carrot);

            // Assert
            Assert.Equal("りんご", attribute1.Name);
            Assert.Equal("バナナ", attribute2.Name);
            Assert.Equal("たまねぎ", attribute3.Name);
            Assert.Equal("にんじん", attribute4.Name);
        }
Ejemplo n.º 3
0
 // 表示名を取得
 public static string DisplayName <TEnum>(this TEnum value) where TEnum : Enum
 => EnumAttributeCache <TEnum, DisplayAttribute> .Get(value)?.Name;