EnvDTE.Client/Impl/ProjectModelImpl/PropertyImpl/ScalarPropertyImplementation.cs (29 lines of code) (raw):
using System;
using EnvDTE;
using JetBrains.Annotations;
namespace JetBrains.EnvDTE.Client.Impl.ProjectModelImpl.PropertyImpl;
public abstract class ScalarPropertyImplementation(
[NotNull] DteImplementation dte,
[NotNull] PropertiesImplementation parent,
[NotNull] string key)
: Property
{
protected readonly DteImplementation DteImplementation = dte;
public object Application => null;
public DTE DTE => DteImplementation;
public Properties Parent => parent;
public Properties Collection => parent;
public string Name => key;
public object Object
{
get => this;
set => throw new NotSupportedException();
}
public short NumIndices => 0;
public abstract object Value { get; set; }
// Not supported for scalar properties
public object get_IndexedValue(object index1, object index2, object index3, object index4) =>
throw new NotSupportedException();
public void set_IndexedValue(object index1, object index2, object index3, object index4, object val) =>
throw new NotSupportedException();
public void let_Value(object lppvReturn) => Value = lppvReturn;
}