Я пытаюсь получить доступ к определенной переменной, доступной только в дочернем классе. Но проблема в том, что я получаю родительский элемент этого класса по параметру. Даже при кастинге я не могу получить доступ к членам. Можно ли это сделать?Доступ к переменной дочернего элемента в родительском объекте передан через параметр функции
public class ENUMTranslator : ITranslate<RedisData>
{
public string Translate(RedisData message)
{
string bitMask = message.AssociatedParam.ParamDictionary["Bitmask"];
var enumerations = (EnumParams)message.AssociatedParam.EnumDictionary
}
}
Дело в том, что данные не в самом сообщении, но внутри AssociatedParam
Какой родительский класс EnumParams
.
EnumDictionary
- это то, что я пытаюсь получить, должно быть в EnumParams
, но я просто не могу получить к нему доступ.
EDIT: Это класс EnumParam.
message.AssociatedParams
является GAPParam
public class EnumParams : GAPParam
{
#region Class Members
/// <summary>
/// Dictionary for the enums linking name with hex value
/// </summary>
private Dictionary<string, string> _enumDictionary;
#endregion // Class Members
#region Properties
/// <summary>
/// Dictionary for the enums linking name with hex value
/// </summary>
public Dictionary<string, string> EnumDictionary
{
get { return _enumDictionary; }
set { _enumDictionary = value; }
}
#endregion // Properties
#region Constructor
/// <summary>
/// Initialise the dictionaries
/// </summary>
public EnumParams()
{
_enumDictionary = new Dictionary<string, string>();
}
#endregion // Constructor
}
Я не могу видеть его с IntelliSense и он не будет компилировать либо.
Какие из них недоступны? Это не понятно из вашего вопроса. –
Что вы, к сожалению, не можете получить к нему доступ? Вызывается ли ошибка компиляции? Не признает ли Intellisense это? Кроме того, какова связь между RedisData и EnumParams? –
сообщение.AssociatedParam.Что-то не компилируется ..? или не может наложить на EnumParams? –