【发布时间】:2012-02-08 19:39:46
【问题描述】:
我天生就是一名 VB.NET 程序员,我很难弄清楚这一点。任何有关以下内容的帮助将不胜感激。
我需要获取下面的 C# 代码 (1) 才能工作。 VB.NET 等效的工作正常,但 C# 不能。
请注意,(2) 和 (3) 都可以工作,但这实际上是自动生成的代码,我需要 VB.NET 和 C# 版本尽可能相似。
-
这不会编译(
Engine的完全限定名称是ThreeD.QVB.Engine):using ThreeD.QVB; namespace QVBScript { public class ScriptCode { public void Main(ref Engine.QVBObjectsDictionary objects, Engine.Commands commands) { … -
但是,这确实有效:
//using ThreeD.QVB; // I'm instead using fully-qualified names in the method namespace QVBScript { public class ScriptCode { public void Main(ref ThreeD.QVB.Engine.QVBObjectsDictionary objects, ThreeD.QVB.Engine.Commands commands) { … -
这也有效:
using eng = ThreeD.QVB.Engine; namespace QVBScript { public class ScriptCode { public void Main(ref eng.QVBObjectsDictionary objects, eng.Commands commands) { …
【问题讨论】:
-
ThreeD.QVB.Engine是包含名为QVBObjectsDictionary的类型的命名空间,还是具有嵌套类型的类型?一个简短但完整的例子会很有帮助。 -
另外,你得到了什么具体的错误信息?
-
假设您已经添加了对它的引用。尝试删除“使用 ThreeD.QVB;”从1.然后转到Engine.QVBObjectsDictionary右键单击并选择resolve,看看添加了什么using语句。
标签: c# namespaces using-directives vb.net-to-c#