ComponentDesigner.GetService(Type) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试从设计器组件的设计模式站点检索指定类型的服务。
protected:
virtual System::Object ^ GetService(Type ^ serviceType);
protected virtual object GetService (Type serviceType);
protected virtual object? GetService (Type serviceType);
abstract member GetService : Type -> obj
override this.GetService : Type -> obj
Protected Overridable Function GetService (serviceType As Type) As Object
参数
- serviceType
- Type
要请求的服务的类型。
返回
实现所请求服务的对象,在无法解析服务时则为 null
。
示例
下面的代码示例演示如何使用 GetService 方法访问设计器服务。
// This utility method connects the designer to various
// services it will use.
private void InitializeServices()
{
// Acquire a reference to DesignerActionService.
this.actionService =
GetService(typeof(DesignerActionService))
as DesignerActionService;
// Acquire a reference to DesignerActionUIService.
this.actionUiService =
GetService(typeof(DesignerActionUIService))
as DesignerActionUIService;
// Acquire a reference to IComponentChangeService.
this.changeService =
GetService(typeof(IComponentChangeService))
as IComponentChangeService;
// Hook the IComponentChangeService events.
if (this.changeService != null)
{
this.changeService.ComponentChanged +=
new ComponentChangedEventHandler(
ChangeService_ComponentChanged);
this.changeService.ComponentAdded +=
new ComponentEventHandler(
ChangeService_ComponentAdded);
this.changeService.ComponentRemoved +=
new ComponentEventHandler(
changeService_ComponentRemoved);
}
// Acquire a reference to ISelectionService.
this.selectionService =
GetService(typeof(ISelectionService))
as ISelectionService;
// Hook the SelectionChanged event.
if (this.selectionService != null)
{
this.selectionService.SelectionChanged +=
new EventHandler(selectionService_SelectionChanged);
}
// Acquire a reference to IDesignerEventService.
this.eventService =
GetService(typeof(IDesignerEventService))
as IDesignerEventService;
if (this.eventService != null)
{
this.eventService.ActiveDesignerChanged +=
new ActiveDesignerEventHandler(
eventService_ActiveDesignerChanged);
}
// Acquire a reference to IDesignerHost.
this.host =
GetService(typeof(IDesignerHost))
as IDesignerHost;
// Acquire a reference to IDesignerOptionService.
this.optionService =
GetService(typeof(IDesignerOptionService))
as IDesignerOptionService;
// Acquire a reference to IEventBindingService.
this.eventBindingService =
GetService(typeof(IEventBindingService))
as IEventBindingService;
// Acquire a reference to IExtenderListService.
this.listService =
GetService(typeof(IExtenderListService))
as IExtenderListService;
// Acquire a reference to IReferenceService.
this.referenceService =
GetService(typeof(IReferenceService))
as IReferenceService;
// Acquire a reference to ITypeResolutionService.
this.typeResService =
GetService(typeof(ITypeResolutionService))
as ITypeResolutionService;
// Acquire a reference to IComponentDiscoveryService.
this.componentDiscoveryService =
GetService(typeof(IComponentDiscoveryService))
as IComponentDiscoveryService;
// Acquire a reference to IToolboxService.
this.toolboxService =
GetService(typeof(IToolboxService))
as IToolboxService;
// Acquire a reference to UndoEngine.
this.undoEng =
GetService(typeof(UndoEngine))
as UndoEngine;
if (this.undoEng != null)
{
MessageBox.Show("UndoEngine");
}
}
' This utility method connects the designer to various
' services it will use.
Private Sub InitializeServices()
' Acquire a reference to DesignerActionService.
Me.actionService = GetService(GetType(DesignerActionService))
' Acquire a reference to DesignerActionUIService.
Me.actionUiService = GetService(GetType(DesignerActionUIService))
' Acquire a reference to IComponentChangeService.
Me.changeService = GetService(GetType(IComponentChangeService))
' Hook the IComponentChangeService events.
If (Me.changeService IsNot Nothing) Then
AddHandler Me.changeService.ComponentChanged, AddressOf ChangeService_ComponentChanged
AddHandler Me.changeService.ComponentAdded, AddressOf ChangeService_ComponentAdded
AddHandler Me.changeService.ComponentRemoved, AddressOf changeService_ComponentRemoved
End If
' Acquire a reference to ISelectionService.
Me.selectionService = GetService(GetType(ISelectionService))
' Hook the SelectionChanged event.
If (Me.selectionService IsNot Nothing) Then
AddHandler Me.selectionService.SelectionChanged, AddressOf selectionService_SelectionChanged
End If
' Acquire a reference to IDesignerEventService.
Me.eventService = GetService(GetType(IDesignerEventService))
If (Me.eventService IsNot Nothing) Then
AddHandler Me.eventService.ActiveDesignerChanged, AddressOf eventService_ActiveDesignerChanged
End If
' Acquire a reference to IDesignerHost.
Me.host = GetService(GetType(IDesignerHost))
' Acquire a reference to IDesignerOptionService.
Me.optionService = GetService(GetType(IDesignerOptionService))
' Acquire a reference to IEventBindingService.
Me.eventBindingService = GetService(GetType(IEventBindingService))
' Acquire a reference to IExtenderListService.
Me.listService = GetService(GetType(IExtenderListService))
' Acquire a reference to IReferenceService.
Me.referenceService = GetService(GetType(IReferenceService))
' Acquire a reference to ITypeResolutionService.
Me.typeResService = GetService(GetType(ITypeResolutionService))
' Acquire a reference to IComponentDiscoveryService.
Me.componentDiscoveryService = GetService(GetType(IComponentDiscoveryService))
' Acquire a reference to IToolboxService.
Me.toolboxService = GetService(GetType(IToolboxService))
' Acquire a reference to UndoEngine.
Me.undoEng = GetService(GetType(UndoEngine))
If (Me.undoEng IsNot Nothing) Then
MessageBox.Show("UndoEngine")
End If
End Sub
注解
此方法的默认实现从组件的站点请求服务。