/// <summary> /// Constructor that registers WMI Context options and initializes WMI class collections /// </summary> /// <param name="options"></param> public WmiContext(WmiContextOptions options) { _options = options ?? throw new InvalidOperationException("WmiContext options cannot be null!"); _options.Connection?.SetContext(this); CreateClassSets(); }
/// <summary> /// Configures WMI Context using class options builder provided and initializes WMI class collections /// </summary> /// <typeparam name="TWmiContextOptionsBuilder">Options builder to be used</typeparam> /// <param name="optionsAction">Actions to configure options before connection</param> public void Configure <TWmiContextOptionsBuilder>( Action <TWmiContextOptionsBuilder> optionsAction) where TWmiContextOptionsBuilder : WmiContextOptionsBuilder, new() { if (_disposed || IsConfigured) { throw new InvalidOperationException( "This context cannot be configured anymore."); } var builder = new TWmiContextOptionsBuilder(); if (_options != null) { builder.Options = _options; } optionsAction?.Invoke(builder); _options = builder.Options; _options.Connection?.SetContext(this); CreateClassSets(); }