Результаты поиска
Есть ли какой-либо трюк, который позволяет использовать Management Studio (ver. 2008) функция IntelliSense с более ранними версиями сервера SQL?
Новая версия Management Studio (т. е. та, которая поставляется с SQL Server 2008), наконец, имеет функцию Transact-SQL IntelliSense. Однако out-of-the-box он работает только с экземплярами SQL Server 2008.
Есть ли какой-то обходной путь для этого?
Почему DispatcherObject.CheckAccess() и VerifyAccess() скрыты от Intellisense?
Класс System.Windows.Threading.DispatcherObject (на основе которого основан класс DependencyObject ) содержит полезную функцию CheckAccess(), которая определяет , выполняется ли код в потоке UI.
Когда я хотел использовать его вчера, я был озадачен, узнав , что Intellisense не показывает функцию (ни VerifyAccess(), которая вызывает исключение, когда она не находится в потоке UI), хотя библиотека MSDN перечисляет ее. Я решил исследовать класс с помощью рефлектора. Похоже, что рассматриваемая функция имеет атрибут EditorBrowsable(EditorBrowsableState.Never) , прикрепленный к ней. Класс Dispatcher , используемый DispatcherObject, имеет тот же атрибут, что и CheckAccess() и VerifyAccess() :
public abstract class DispatcherObject
{
// ...
[EditorBrowsable(EditorBrowsableState.Never)]
public bool CheckAccess();
[EditorBrowsable(EditorBrowsableState.Never)]
public void VerifyAccess();
// ...
[EditorBrowsable(EditorBrowsableState.Advanced)]
public Dispatcher Dispatcher { get; }
}
public sealed class Dispatcher
{
// ...
[EditorBrowsable(EditorBrowsableState.Never)]
public bool CheckAccess();
[EditorBrowsable(EditorBrowsableState.Never)]
public void VerifyAccess();
// ...
}
Я не верю, что применение этого атрибута является случайным (или шуткой), поэтому мой вопрос: почему он существует? Не следует ли эти методы вызывать напрямую? Тогда почему они не protected (или internal , как некоторые из самых полезных методов в WPF)?