Я пытаюсь сделать некоторые вещи сериализации / десериализации с пользовательским типом исключения. Этот тип имеет поле, определенное как:
private object[] resourceMessageParams;
У меня есть весь хороший и строго типизированный код с некоторой магией выражений Linq, но я хочу пойти еще дальше и сделать что-то вроде этого:
using ResourceMessageParamsType = object[];//<-- "Identifier expected" error here
/*...*/
private ResourceMessageParamsType resourceMessageParams;
/*...*/
this.resourceMessageParams =
(ResourceMessageParamsType)serializationInfo.GetValue(
ReflectionHelper.GetPropertyNameFromExpression(() =>
resourceMessageParams), typeof(ResourceMessageParamsType));
Вместо этого:
(object[])serializationInfo.GetValue(
ReflectionHelper.GetPropertyNameFromExpression(() =>
resourceMessageParams), typeof(object[]));
Чтобы учесть возможное изменение типа этого поля в будущем, поэтому в определении псевдонима придется изменить тип только один раз. Однако компилятор останавливается на object
в using ResourceMessageType = object[];
, жалуясь на то, что ожидается идентификатор. Изменение на Object[]
несколько помогает, но на этот раз скобка подсвечивается тем же сообщением об ошибке.
Есть ли способ определить псевдоним для типа массива в c #?