如下:
class a
{
public fa()
{
}
class b
{
public fb()
{
//想在这里调用fa(),如何调用
}
}
class b1=new b();
b1.b1();
}
直接调用出错,请大家帮忙。
class a
{
public static fa()
{
}
class b
{
public fb()
{
//想在这里调用fa(),如何调用
}
}
class b1=new b();
b1.b1();
}
还有问题,应该是
class a
{
public static void fa()
{
}
class b
{
public void fb()
{
//想在这里调用fa(),如何调用
}
}
class b1=new b();
b1.fb();
}
但是为什么要把class b放在class a里面呢?这样的做法不太好
class a
{
public static void fa()
{
}
class b
{
public void fb()
{
a.fa();
//想在这里调用fa(),如何调用
}
}
class b1=new b();
b1.fb();
}
class a
{
public static void fa()
{
}
class b
{
public void fb()
{
a.fa();
//想在这里调用fa(),如何调用
}
}
class b1=new b();
b1.fb();
}
但是这样实现看起来就不怎么规范
怎么不用继承呢?
class a
{
public static void fa()
{
}
}
class b:a
{
public void fb()
{
//想在这里调用fa(),如何调用
//调用父类的方法
}
}
class b1=new b();
b1.fb();
using System;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
class2 b = new class2();
System.Console.WriteLine(b.b());
Console.ReadLine();
}
static string a(){
return "invoke function a";
}
class class2{
public string b(){
return Class1.a();
}
}
}
}
在C#中的内部类比较特殊
它和包含它的外部类是没有关系的,并没有提供方法直接访问外部类的实例方法(java中可以)
只能在构造内部类的时候把外部类的实例当作构造参数传入内部类(就象楼上的方法)
然后内部类可以访问外部类的一切成员,包括private的成员
没有别的方法了
一样的方法,就是a.fa(),看下面:
class a
{
public static void fa()
{
}
class b
{
public void fb()
{
a.fa();
}
}
class b1=new b();
b1.fb();
}