Typescript: يجب أن تكون وسيطات تعبير الفهرس في تعدادات 'const' s / من النوع 'string' / سلسلة حرفية /

تم إنشاؤها على ٢٢ يناير ٢٠١٥  ·  3تعليقات  ·  مصدر: microsoft/TypeScript

"يجب أن تكون وسيطات تعبير الفهرس في تعدادات 'const' من النوع 'سلسلة'"

رسالة الخطأ هذه غامضة تمامًا:
type_string

يبدو أنه ينبغي أن يكون
"يجب أن تكون وسيطة تعبير الفهرس للتعداد '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);
}
Bug help wanted

التعليق الأكثر فائدة

إذا كان لدى شخص ما نفس المشكلة ، فحاول فقط إزالة "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]

ال 3 كومينتر

سيكون موضع تقدير العلاقات العامة

الرسالة الآن "لا يمكن الوصول إلى عضو 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]
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات