我在Powershell中将文本转换为ASCII数字并且在ToByte()
时遇到问题。当我查看字符串的方法时,我发现其中一些显示的是接口前缀,而大多数都没有。
有人可以告诉我这些定义之间的区别吗?为什么ToByte()
以IConvertible
开头,但PadLeft()
没有?<任何原因{ {1}}有这两种符号吗?
答案 0 :(得分:3)
因为那些具有接口名称的方法是Explicit Interface Implementations。
如果一个类实现了两个包含一个成员的接口 相同的签名,然后在类上实现该成员将导致 两个接口都使用该成员作为其实现。
如果两个接口成员不执行相同的功能, 但是,这可能导致一个或两个的错误实现 的接口。可以实现接口成员 显式创建一个只通过该方法调用的类成员 接口,并且特定于该接口。这是通过 使用接口名称和句点命名类成员。
显式实现也用于解决两个案例 每个接口都声明了同名的不同成员,例如a 财产和方法。
您还可以在String class documentation under Explicit Interface Implementations。
中看到此列表