C#and VB.net

C#中的接口
interface
[public|protected|private] interface InterfaceName
{
//mothed
// propery
// event
//delegate
}
在实现接口时,带接口名与不带接口的区别
不带的区别eg:
public interface IMyShow
{
void Show();
}
public class MyShow:IMyShow
{
public void Show()//必须写上前的public若写成void Show()出错
{
System.Console.Write(" 不带接口名");
}
}
public class MyMain
{
public static void Main()
{
// 用类定义引用
MyShow obj=new MyShow();
obj.Show();
//用接口引用方法
IMyShow obj2=new MyShow();
obj2.Show();

}
}

//带接口名
public interface IMyShow
{
System.Console.Write("带接口名");
}
public class MyShow:IMyShow
{
void IMyShow.Show()// 前面不能带上任何限定词
{
System.Console.Write("带接口名");
}
}
public class MyMain
{
public static void Main()
{
MyShow obj=new MyShow();
obj.Show();//非法因为加了限定词后,这个方法专属于专们的一个引用,只能有接口去引用
IMyShow obj2=new MyShow();
obj2.Show();

}
}
看完上面的内容我想为C#的爱好留个问题。请大家一起来讨论一下
public interface IMyShow
{
void Show();
}
public interface IMyShow2
{
void Show();
}

public class Myclass:IMyShow,IMyShow2
{
public Myclass()
{

}

void IMyShow.Show()
{
System.Console.Write("IMyShow");

}

public void Show()
{
System.Console.Write("Myclass show");
}

void IMyShow2.Show()
{
System.Console.Write("IMyShow2.Show()");

// TODO: 添加 Myclass.Show 实现
}

}

class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
IMyShow obj2=new Myclass ();
obj2.Show();
IMyShow obj1=new Myclass();
obj1.Show();
Myclass obj=new Myclass();
obj.Show();

}
}
}

Namespace wfgSpace
Public Interface IMyShow
Sub Show()
Function Add(ByVal a As Integer, ByVal b As Integer) As Integer

End Interface
Public Interface IMyShow2
Sub Show()
Function Add(ByVal a As Integer, ByVal b As Integer) As Integer

End Interface
Public Class MyCls : Implements IMyShow, IMyShow2
Private iValue As Integer

Sub Show() Implements IMyShow.Show
System.Console.Write("wfng fu guo")
End Sub
Sub Show2() Implements IMyShow2.Show
System.Console.Write("wfg")

End Sub
Function Add2(ByVal a As Integer, ByVal b As Integer) As Integer Implements IMyShow.Add, IMyShow2.Add

iValue = a + b

System.Console.WriteLine("{0}+{1}={2}", a, b, iValue)
End Function

End Class
Public Class Common
Public Shared Sub main()
Dim obj As MyCls = New MyCls
Dim obj2 As IMyShow = New MyCls
Dim obj3 As IMyShow2 = New MyCls
System.Console.WriteLine("Class MyCls Object")
obj.Show2()
obj.Add2(5, 4)

System.Console.WriteLine("interface IMyShow object")
obj2.Show()
obj2.Add(5, 4)
System.Console.WriteLine("interface IMyShow2 object")
obj3.Show()
obj3.Add(5, 4)

End Sub
End Class

End Namespace

时间: 2024-11-01 04:51:30

C#and VB.net的相关文章

VB.NET基础语法

很久以来,VB因为缺乏完善的面向对象支持.缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑.VB.NET将彻底改变这种情况.然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行. 下面几个表格总结了VB.NET语言在语法上的改动之处.注意这些表格并没有完全列出所有改动之处,但列出了最重要的一些改动. 表A对比了VB6中一些熟悉的语法形式及其在VB.NET中类似功能最接近的语法形式. 表A:语法对比旧语法 新语法 说明窗体装载事件,类初

VB.NET中有用的通用对象列表

要使用List(of T),我们需要了解如何部署.NET框架所提供的多种方法.这也将是本文要介绍的内容.我已经编写好了三个示例--使用ForEach, FindAll,和Sort--来阐述同样列表类的工作原理. 第一步是要创建一个同用列表.你可以从多种途径获取数据,但是最简单的方法是添加.文本中,我们会编写代码以便为举例中的集来分类.因此,下面我们就来讲讲创建集的代码. 首先,我需要一个能代表集中的Bottle的对象.为此而编写的代码是完全符合标准的,而且事实上,VB.NET 2008 Expr

VB.NET多线程应用

开发者一直要求微软为VB加入更多的多线程功能,对于VB.NET也是这样.VB6已经支持建立多线程的EXE.DLL和OCX.不过使用多线程这个词语,可能也不太确切.因此VB6仅支持运行多个单线程的单元.一个单元实际上是代码执行的空间,而单元的边界限制了代码访问任何单元以外的事物. VB.NET就不同了,它支持建立自由线程(free-threaded)的应用.这意味着多个线程可以访问同样一套的共享数据.本文的以下部分将讨论一下多线程的一些基本点. 问题 虽然VB6支持多个单线程的单元,不过它并不支持

VB.NET局部静态变量介绍

经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.VB.NET能够实现很多C#不能做到的功能,如When语句.Optional参数.局部Static变量.对象实例访问静态方法.Handles绑定事件.On Error处理异常.Object直接后期绑定等等.VB和C#同属.NET的语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢.我们一起来探究一下VB.NET局部静态变量. VB.NET局部静态变量 VB支持用Stati

使用VB.NET加密文件

加密 本文介绍使用XOR加密算法对数据进行加密, 这是一种很简单的算法,使用了尽量简单的VB编程方法,通俗易懂.我们可以采用更安全的算法如DES算法,IDEA算法等.各位如有任何见解,请不吝赐教. 在窗体中添加一RichTextBox,设置其Name属性为SourceFile,Multiline属性为True,ScrollBars属性为3-both.添加一MainMenu,设置一菜单项"文件",其下有"打开","保存","加密"

编程-VB 引用同一根目录下的文件夹的Excel

问题描述 VB 引用同一根目录下的文件夹的Excel exe文件跟文件夹的根目录一样,要引用文件夹下面的Excel部分单元格的数据各位高手帮我解答下,新人的第一条提问 解决方案 '工程-引用-将Microsoft Excel 12.0 Object Library选中,'工程-部件-将Microsoft Common Dialog Control 6.0选中,'在窗体上添加一个按钮Command1对象,一个CommonDialog1通用对话框对象Private Sub Command1_Clic

vb.net-VB,net linq 模糊查询List

问题描述 VB,net linq 模糊查询List 我有 一 个书籍列 Dim books As List(Of book) 需要用textbox.text的值 对这个list进行模糊查询,返回list 结果,用循环比较浪费,LINQ 如何做 解决方案 linq 模糊查询linq 模糊查询linq中动态模糊查询

如何这段C#代码翻译成VB代码?谢谢!

问题描述 如何这段C#代码翻译成VB代码?谢谢! private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //自动点击弹出确认或弹出提示 IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument; vDocument.parentWindow.execScrip

图片-vb。net自定义控件如何设置picturebox的属性可以调节大小

问题描述 vb.net自定义控件如何设置picturebox的属性可以调节大小 自定义控件里面有一个picturebox和一个openfiledialog,可以显示图片和名字,但设置属性可以调节图片大小的属性怎么写, 解决方案 直接设置picturebox的dock为fill,那么它自动就根据窗体的大小而缩放了. 解决方案二: 而控件的大小由size属性控制,不用你写任何代码.

vb和Excel简单运用嗯宏的用法

问题描述 vb和Excel简单运用嗯宏的用法 如何在点击Excel时运行已经录制的宏,在宏里面输入什么代码,求后台代码,求大神 解决方案 1.录制好宏,并取名. 2.在Excel文件的VBA环境中,双击ThisWorkbook进入代码窗口. 3.写入下列代码: Private Sub Workbook_Open() '已经录制的宏 End Sub