相关疑难解决方法(0)

带有intellisense的内置C#/ VB.Net编辑器--Roslyn,VSTA还是其他什么?

我需要在我的应用程序中提供脚本功能,允许客户使用我们的对象模型扩展其功能.我希望提供一些带有intellisense的集成C#/ VB.Net编辑器,但在查看AvalonEdit和ScintillaNet等产品后,它们似乎没有提供真正的代码完成,只是一个API,您可以在其中提供自己的列表弹出自动完成列表中显示的项目.

因此我想知道罗斯琳是否提供了这样的功能?从我遇到的教程和示例中可以看出,Roslyn实际上只是一个编译器服务.

作为最后的手段,客户可以使用像VS Express这样的东西,但集成的编辑器显然更好一些.

(我也遇到了Visual Studio Tools for Applications,听起来很有希望;但是在线资源已有几年历史了,而且文档/教程不存在,所以我用这个来填空.)

c# vb.net vsta roslyn

7
推荐指数
1
解决办法
2763
查看次数

字节数组"联合"覆盖在c#StructLayout.Explicit中

我希望在ac#struct类型中有一种c风格的uion.

出于某种原因,每次我分配一个我定义的类型时,我都会得到一个异常.这是我自己的类型.基本的想法是我可以访问这个结构的"指针".不幸的是我得到了一个Exception TypeLoadException:

附加信息:无法从程序集"ManagedTarget,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null"加载类型"ManagedTarget.FngPeriodeParameterType",因为它包含偏移0处的对象字段,该字段未正确对齐或重叠对象字段.

怎么了?

[StructLayout(LayoutKind.Explicit, Size = 16)]
unsafe internal struct FngPeriodeParameterType
{
  [FieldOffset(0)]
  public Byte[] ByteArray;

  [FieldOffset(0)]
  public UInt32 Repetitions;

  [FieldOffset(4)]
  public Int16 Amplitude;

  [FieldOffset(6)]
  public Int16 Offset;

  [FieldOffset(8)]
  public Int16 Gain;

  [FieldOffset(10)]
  public UInt16 Selection;

  [FieldOffset(12)]
  public UInt32 Step;
}
Run Code Online (Sandbox Code Playgroud)

c# memory-management

4
推荐指数
1
解决办法
2052
查看次数

标签 统计

c# ×2

memory-management ×1

roslyn ×1

vb.net ×1

vsta ×1