using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;
//uing语句
/*在使用using语句时,设计的类MyClass1必须继承自IDisposable接口,并且必须创建一个显示实现接口
void IDisposable.Dispose()*/
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
public override string ToString()
{
return "You are in NameSpace2.MyClass";
}
}
}
namespace ConsoleApplication11
{
using NameSpace1;
using NameSpace2;
class MyClass1 : IDisposable //原因 TestUsing必须继承自 IDisposable类,才可以使用using语句
{
public void test()
{
Console.WriteLine("调用uing语句");
}
// error CS0535: “ConsoleApplication11.MyClass1”不实现接口成员“System.IDisposable.Dispose()”
void IDisposable.Dispose() //自动创建一个显示接口函数,且必须创建,否则异常
{
throw new NotImplementedException();
}
}
/// <summary>
/// Program的摘要说明。
/// </summary>
class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//NameSpace1.MyClass my1 = new NameSpace1.MyClass();
aClass my1 = new aClass();
Console.WriteLine(my1);
//NameSpace2.MyClass my1 = new NameSpace2.MyClass();
bClass my2 = new bClass();
Console.WriteLine(my2);
//error CS1674: “TestUsing.MyClass1”: using 语句中使用的类型必须可隐式转换为“System.IDisposable”
//原因 TestUsing必须继承自 IDisposable类,才可以使用using语句
using (MyClass1 cls1 = new MyClass1(), cls2 = new MyClass1())
{
// the code using cls1, cls2
cls1.test();
cls2.test();
} // call the Dispose on cls1 and cls2
Console.WriteLine("Press any key");
Console.Read();
}
}
}
C# using语句&接口初步
最新推荐文章于 2023-10-24 10:26:48 发布