Ошибка (CS1519): "Недопустимый токен 'base' в объявлении класса, структуры или члена интерфейса"
Есть следующий код C# в Unity:
using System;
using UnityEngine;
[Serializable]
public class Flicker : MonoBehaviour
{
public string waveFunction;
public float base;
public float amplitude;
public float phase;
public float frequency;
}
Однако почему-то он вызывает следующую ошибку:
CS1519 Недопустимый токен "base" в объявлении класса, записи, структуры или элемента интерфейса"
С чем это связано?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
base
- зарезервированное слово, не используйте его в названии поля. Но если очень хочется, то можно вроде бы экранировать его через символ @
, имя будет тоже самое base
на самом деле при сериализации/десериализации, это просто инструкция компилятору, что это не ключевое слово, а поле:
[Serializable]
public class Flicker : MonoBehaviour
{
public string waveFunction;
public float @base;
public float amplitude;
public float phase;
public float frequency;
}
Подсмотрено на английском СО.