如何使用Q#中另一个文件中编写的操作?

时间:2018-08-17 12:14:33

标签: import quantum-computing q#

文件A具有

Operation Foo() : () {
   body{
      ...
   }
}

我想在文件B的另一个操作中使用Foo

Operation Bar() : (){
   // How to use Foo?
}

文件A和B可能不在同一文件夹中。

1 个答案:

答案 0 :(得分:2)

要完成这项工作,有两个部分:名称空间和项目引用。

Q#中的所有操作(几乎所有其他操作)都在某个命名空间中。检查两个文件顶部的namespace指令;如果名称空间名称相同,则完成此部分。如果不是,则在文件B中,在open的顶部添加一个引用文件A的命名空间的namespace指令:

namespace A {
    open B;

如果文件A和B在同一个文件夹中(同一项目,如果使用完整的Visual Studio),则仅此而已。如果不是,则需要从项目B向项目A添加引用。在Visual Studio中,右键单击项目B,选择“添加”,然后选择“引用...”,在出现的对话框左侧单击“项目”。 ,然后选择项目A。有关更多详细信息,请参见https://docs.microsoft.com/en-us/visualstudio/ide/how-to-add-or-remove-references-by-using-the-reference-manager

如果您使用的是Visual Studio Code,请使用dotnet add reference命令从项目B添加对项目A的引用。请参见https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-add-reference