【发布时间】:2013-02-15 11:58:06
【问题描述】:
关于接口,我遇到了以下代码示例。为什么这个类在 main 方法中实例化自己的对象?它是 C# 和 Java 中的有效理论或代码约定吗? (编译器没有抱怨..但我很好奇)
using System;
interface IParentInterface
{
void ParentInterfaceMethod();
}
interface IMyInterface : IParentInterface
{
void MethodToImplement();
}
class InterfaceImplementer : IMyInterface
{
static void Main()
{
InterfaceImplementer iImp = new InterfaceImplementer();
iImp.MethodToImplement();
iImp.ParentInterfaceMethod();
}
public void MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
public void ParentInterfaceMethod()
{
Console.WriteLine("ParentInterfaceMethod() called.");
}
}
【问题讨论】:
-
为什么你认为它不应该这样做?它在 C# 和 Java 中都完全有效。
-
但是将 main 方法放在实现接口的类中确实看起来很奇怪。就个人而言,我不会那样做。
-
@Jon Skeet 说它完全有效——是的,编译器没有抱怨。 Daniel Hilgarth 说这看起来很奇怪(更不用说我的感觉了)。你们中的任何一个可以指导我参考代码示例参考或一篇文章来阅读/体验:“将 main 方法放在实现接口的类中看起来很奇怪”?
标签: c# class interface instantiation