Solidworks API C# / VB.net 设置枚举 属性

Solidworks API C# / VB.net set Enum property

Solidworks eDrawings API列出以下

EnableFeature 属性 (IEModelViewControl)

Visual Basic(用法)

 Dim instance As IEModelViewControl
 Dim feature As EMVEnableFeatures
 Dim value As System.Boolean

 instance.EnableFeature(feature) = value

 value = instance.EnableFeature(feature)

Solidworks 提供了一个"example"解决方案(C#.NET),下面是控件

this.eDrawingControl1 = new eDrawingHostControl.eDrawingControl();

查看 eDrawingHost.eDrawingControl 命名空间,我们可以看到

 public EModelViewControl eDrawingControlWrapper { get; }

所以我觉得

eDrawingControl1.eDrawingControlWrapper.EnableFeature(feature) = true;

会起作用,但我得到的是

Non-invocable member 'IEModelViewControl.EnableFeature[EMVEnableFeatures]' cannot be used like a method.

作为实例正常运行的证据,例如

eDrawingControl1.eDrawingControlWrapper.Save(@"filePath", false,"");

工作得很好。

我是否误解了用于设置此类(枚举)的 C# 语法属性?

看起来他们的包装器正在使用命名索引器,这是您在 C# 中无法做到的。但是,您可以从 C# 使用它:

eDrawingControl1.eDrawingControlWrapper.EnableFeature[feature] = true;