让我解释.我已经定义了一个名为IEmployee的接口(ID,FirstName和Surname属性),但我还没有在任何类中实现该接口.
我想做的是:
Dim User as New IEmployee
User.ID = 1
User.FirstName = ""
User.Surname = ""
Call SomeFunction (User)
Run Code Online (Sandbox Code Playgroud)
VB.NET编译器似乎不喜欢这个.
编辑**谢谢大家,所有好点都做得很好!我将实例化一个具体的类.我只想尝试捷径:)
不,它不会.您不能像这样直接创建接口实例:您希望属性调用做什么?属性调用调用代码 - 但您没有提供实现.假设您在界面中定义了一个方法来计算员工的假期津贴:如果您调用它,当您没有在任何地方实现界面时,您希望该怎么做?
接口的要点是指定一个API,然后在具体的类中实现 - 如果没有正确实现它的东西,就不能使用该接口.
(注意,我认为有一些非常奇怪的情况,其中C#编译器和可能的VB 将允许您直接实例化接口,但我认为它们是COM特定情况.我认为这与COM无关还有一些RealProxy动态实现接口等的东西,但我不认为它直接相关.)