C# 接口用法
2021-06-19 01:07
标签:引用 inter 实现 tin 默认 索引 not ace div 接口是指一组函数成员而不实现它们的引用类型,只能由类和结构来是实现,接口的作用就不阐述了 下面是一些注意事项: a:接口声明不能包括静态成员和数据成员,只能包含非静态成员方法、时间、属性、索引器 b:函数成员的声明不能有任何实现代码,并且在每个声明的主体后使用分号分隔 c: 接口成员可以使用public、private等修饰符,而接口成员是隐式public,不允许有任何访问修饰符,包括public d:按照惯例,接口名称从大写的 I 开始,如 ITest e:如果类从基类继承并使用了接口,基类必须放在接口之前(只能有一个基类,接口可以有多个) f:接口可以继承接口 代码先使用as运算符从类对象获取接口引用,并赋值给b,使b的值为null 或 IMyInter,判断是否为null 由于类可以实现任意数量的接口,因此可能有多个接口成员有相同的签名和返回类型,例如: 对于上面的例子,有两种解决方法 1、实现单个成员来满足所有包含重复成员的接口 2.创建显式接口成员实现,由接口名称加点号分隔符和成员名称组成 C# 接口用法 标签:引用 inter 实现 tin 默认 索引 not ace div 原文地址:https://www.cnblogs.com/forever-Ys/p/10294145.html一、接口定义
二、声明接口
interface IMyInterface //interface 是关键字,后面的是接口名称
{
int DoSomething(int val1, int val2); //分号代表实现主体,不能含有public等修饰符,默认为public
}
三、接口和as运算符
IMyInter b = c as IMyInter;
if(b != null)
Console.WriteLine("Not null");
四、实现具有重复成员的接口
interface IMyInter1
{
void Print(string a);
}
interface IMyInter2
{
void Print(string b);
}
class MyClass : IMyInter1, IMyInter2
{
public void Print(sting s)
{
Console.WriteLine("value is {0}",s);
}
}
class MyClass : IMyInter1, IMyInter2
{
public void IMyInter1.Print(sting s)
{
Console.WriteLine("IMyInter1 value is {0}",s);
}
public void IMyInter2.Print(sting s)
{
Console.WriteLine("IMyInter2 value is {0}",s);
}
}