C# 完全限定IStream
在我的WinForm上,创建了一个引用:C# 完全限定IStream,c#,winforms,C#,Winforms,在我的WinForm上,创建了一个引用: using System.Runtime.InteropServices.ComTypes; 声明变量时: private IStream data; 这将成为对结构命名空间的引用 它必须是完全合格的: private System.Runtime.InteropServices.ComTypes.IStream data; 还有什么其他参考资料会干扰这一点? 我有另一个项目不需要完全限定此引用。如果您没有完全限定,是否会出现不明确的引用错误?它应
using System.Runtime.InteropServices.ComTypes;
声明变量时:
private IStream data;
这将成为对结构命名空间的引用
它必须是完全合格的:
private System.Runtime.InteropServices.ComTypes.IStream data;
还有什么其他参考资料会干扰这一点?
我有另一个项目不需要完全限定此引用。如果您没有完全限定,是否会出现不明确的引用错误?它应该告诉你这两个选项是什么。。您还可以使用重构帮助器——如果您通过下拉菜单尝试解决它,它将告诉您在哪里找到接口。什么:
这将成为对结构命名空间的引用
?另外,大写数据是否会有所不同?是否在代码中声明IStream
类型或变量?如果我创建属性并完全限定私有变量,则不限定公共get/set,则会发生此错误:无法隐式将type“System.Runtime.InteropServices.ComTypes.IStream”转换为“IStream”是,错误是:无法将类型“System.Runtime.InteropServices.ComTypes.IStream”隐式转换为“IStream”。我所指的结构如图所示:好的,那么在默认名称空间中有一个IStream,在ComTypes中有一个。。除非删除ComTypes引用,否则必须显式。。