无法初始化DTE对象

时间:2015-10-22 17:58:01

标签: envdte

我正在关注this链接中的代码示例。

我在第二行遇到障碍:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//using EnvDTE;

namespace TwinCAT_Automation_Interface
{
    public partial class Main : Form
    {
        public Main()
       {
            InitializeComponent();
        }

        //Creating TwinCAT Projects via templates (Recommended)
        Type        myType  =   System.Type     .GetTypeFromProgID  ("VisualStudio.DTE.12.0");
        dynamic     myDTE   =   System.Activator.CreateInstance     (myType);  //error right here
    }
}

错误说:

  

错误1字段初始值设定项无法引用非静态字段,   方法或属性'TwinCAT_Automation_Interface.Main.myType'

我究竟做错了什么?这是相同的代码片段;我只是修改了一下。请帮忙!!!!

好的,我通过将其更改为以下内容来解决问题:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//using EnvDTE;

namespace TwinCAT_Automation_Interface
{
    public partial class Main : Form
    {
        public Main()
       {
            InitializeComponent();
        }

        public void myMethod()
        {
            //Creating TwinCAT Projects via templates (Recommended)
            Type        myType  =   System.Type     .GetTypeFromProgID  ("VisualStudio.DTE.12.0");
            dynamic     myDTE   =   System.Activator.CreateInstance     (myType);                   // dynamic linking for DTE-object
        }
    }
}

说明在this链接中。这是一个编译器错误。

1 个答案:

答案 0 :(得分:0)

这是一个编译器错误。请参阅问题链接到答案。