У меня есть вспомогательный класс, который позволяет мне писать
Current<Page>.Value = pageObject;
, который является оберткой над ScenarioContext. Он работает от имени типа, поэтому его нужно немного расширить, если вам нужен доступ к двум переменным одного типа
public static class Current<T> where T : class
{
internal static T Value
{
get {
return ScenarioContext.Current.ContainsKey(typeof(T).FullName)
? ScenarioContext.Current[typeof(T).FullName] as T : null;
}
set { ScenarioContext.Current[typeof(T).FullName] = value; }
}
}
2019 edit: я бы использовал ответ @ JoeT в настоящее время, похоже, вы получаете те же преимущества без необходимости определять расширение