"يجب أن تكون وسيطات تعبير الفهرس في تعدادات 'const' من النوع 'سلسلة'"
رسالة الخطأ هذه غامضة تمامًا:
يبدو أنه ينبغي أن يكون
"يجب أن تكون وسيطة تعبير الفهرس للتعداد 'const' سلسلة حرفية"
لأن المترجم يفعل ذلك:
if (isConstEnumObjectType(objectType) && node.argumentExpression && node.argumentExpression.kind !== SyntaxKind.StringLiteral) {
error(node.argumentExpression, Diagnostics.Index_expression_arguments_in_const_enums_must_be_of_type_string);
}
سيكون موضع تقدير العلاقات العامة
الرسالة الآن "لا يمكن الوصول إلى عضو const enum إلا باستخدام سلسلة حرفية." ، تبدو جيدة بالنسبة لي.
إذا كان لدى شخص ما نفس المشكلة ، فحاول فقط إزالة "const" وسيعمل كل شيء.
حسنًا ، هذا ليس صحيحًا تمامًا ، عليك أن تفعل شيئًا مثل:
enum MyEnum{
A, B, C
}
let index = 2;
// this is how you can get the value from the enum without haveing tslint error message.
(<any>MyEnum)[index]
التعليق الأكثر فائدة
إذا كان لدى شخص ما نفس المشكلة ، فحاول فقط إزالة "const" وسيعمل كل شيء.
حسنًا ، هذا ليس صحيحًا تمامًا ، عليك أن تفعل شيئًا مثل: