DispatcherObject Класс

Определение

Represents an object that is associated with a Dispatcher.Represents an object that is associated with a Dispatcher.

public ref class DispatcherObject abstract
public abstract class DispatcherObject
type DispatcherObject = class
Public MustInherit Class DispatcherObject
Наследование
DispatcherObject
Производный

Комментарии

Только поток, в котором был создан Dispatcher, может обращаться к DispatcherObject напрямую.Only the thread that the Dispatcher was created on may access the DispatcherObject directly. Чтобы получить доступ к DispatcherObject из потока, отличного от потока, в котором был создан DispatcherObject, вызовите Invoke или BeginInvoke в Dispatcher, с которым связана DispatcherObject.To access a DispatcherObject from a thread other than the thread the DispatcherObject was created on, call Invoke or BeginInvoke on the Dispatcher the DispatcherObject is associated with.

Подклассы DispatcherObject, которым необходимо обеспечить потокобезопасность, могут сделать это, вызвав VerifyAccess для всех открытых методов.Subclasses of DispatcherObject that need to enforce thread safety can do so by calling VerifyAccess on all public methods. Это гарантирует, что вызывающий поток является потоком, в котором была создана DispatcherObject.This guarantees the calling thread is the thread that the DispatcherObject was created on.

Экземпляр DispatcherObject не может быть создан независимо. то есть все конструкторы защищены.A DispatcherObject cannot be independently instantiated; that is, all constructors are protected.

Объекты, производные от DispatcherObject, имеют сходство потоков.Objects that derive from DispatcherObject have thread affinity.

Объекты, производные от Freezable, являются свободными потоками, когда они заморожены.Objects that derive from Freezable are free-threaded when they are frozen. Дополнительные сведения см. в разделе Общие сведения об объектах класса Freezable.For more information, see the Freezable Objects Overview.

Конструкторы

DispatcherObject()

Initializes a new instance of the DispatcherObject class.Initializes a new instance of the DispatcherObject class.

Свойства

Dispatcher

Gets the Dispatcher this DispatcherObject is associated with.Gets the Dispatcher this DispatcherObject is associated with.

Методы

CheckAccess()

Determines whether the calling thread has access to this DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
VerifyAccess()

Enforces that the calling thread has access to this DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

Применяется к

Потокобезопасность

Все открытые static членов этого типа являются потокобезопасными.Any public static members of this type are thread safe. Потокобезопасность элементов экземпляров не гарантируется.Any instance members are not guaranteed to be thread safe.

Доступ к этому объекту можно получить только из потока, в котором он был создан.This object can be accessed only from the thread on which it was created. Попытки доступа к нему из других потоков вызовут исключение InvalidOperationException.Attempts to access it from other threads will throw an InvalidOperationException. Invoke(DispatcherPriority, Delegate) или BeginInvoke(DispatcherPriority, Delegate) обеспечивают поддержку упаковки для работы в правильном потоке.Invoke(DispatcherPriority, Delegate) or BeginInvoke(DispatcherPriority, Delegate) provide support for marshaling work to the correct thread.