| File: System\Windows\Forms\Design\DataGridViewComponentPropertyGridSite.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms.Design\src\System.Windows.Forms.Design.csproj (System.Windows.Forms.Design) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.ComponentModel; namespace System.Windows.Forms.Design; internal class DataGridViewComponentPropertyGridSite : ISite { private readonly IServiceProvider? _serviceProvider; private bool _inGetService; public DataGridViewComponentPropertyGridSite(IServiceProvider? serviceProvider, IComponent component) { _serviceProvider = serviceProvider; Component = component; } /// <summary> /// When implemented by a class, gets the component associated with the <see cref="ISite"/>. /// </summary> public IComponent Component { get; } /// <summary> /// When implemented by a class, gets the container associated with the <see cref="ISite"/>. /// </summary> public IContainer? Container => null; /// <summary> /// When implemented by a class, determines whether the component is in design mode. /// </summary> public bool DesignMode => false; /// <summary> /// When implemented by a class, gets or sets the name of the component associated with the <see cref="ISite"/>. /// </summary> public string? Name { get; set; } public object? GetService(Type t) { if (_inGetService || _serviceProvider is null) { return null; } try { _inGetService = true; return _serviceProvider.GetService(t); } finally { _inGetService = false; } } }