我有一个我想用枚举集注释的类。
我定义了自定义属性类和所有内容。我想在资源文件的其他地方定义枚举集,并只使用此预定义的枚举集应用注释。但是,编译器抱怨它需要一个常量表达式(枚举集在const块中定义)
然后,如果我传入一个硬编码的枚举集,它就不会抱怨。
为什么不编译?如何在另一个资源文件中定义枚举集并在注释中使用它们,而不必在注释中对它们进行硬编码?
.blok1__navbar{
font-family: open-sans,sans-serif;
width: 80%;
margin:0 auto;
padding: 0px;
}
.blok1__navbar li{
list-style-type:none;
display: inline-block;
background-color: red;
padding: 10px 0px 10px 0px;
}
.blok1__navbar li a{
padding: 20px;
text-decoration: none;
color:#FFF;
}
.blok1__navbar > li > a::after{
font-family: FontAwesome;
display: inline-block;
vertical-align: middle;
content:"\f105";
float:right;
padding-right: 10px;
}
.blok1__navbar > li:hover ul {
border-top-style: solid;
border-top-width: 1px;
left: 0;
min-width: 200px;
opacity: 0;
position: absolute;
top: 100%;
transform: translate3d(0px, 30px, 0px);
transition: all 0.4s ease-out 0s;
visibility: visible;
z-index: 999;
}
答案 0 :(得分:2)
根据语言规则,类型化常量不是constant expression,必须传递属性构造函数constant expressions。
您已声明了一个类型化常量。改为使用常量表达式:
const enumSet1 = [val1, val2];
答案 1 :(得分:0)
发现错误。
我需要声明const
const enumSet1 = [val1, val2];
而不是
const enumSet1 : TEnumSet = [val1, val2];
为什么不编译呢?