所以我试图将我的函数组织到嵌套类中,这样我可以像“ Player.Trigger_Functions.TakeDamage()”那样调用它们,而不是这样调用:“ Player.TakeDamage()”。我想以我建议的方式调用函数是一种效率较低的方法,但它将有助于将函数分为不同的类别,同时保留在同一文件中。
这是一些测试代码,但是我无法在线编译它以查看它是否有效。 (尽管某些功能位于单独的容器中,但我认为这是个问题,但它们必须能够彼此交互)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class Program
{
public class meme{
public int thicc = 0;
public oof nest1 = new oof();
public watermelone nest2 = new watermelone();
public class oof : meme
{
public void here(){
thicc++;
}
public void call(){
nest2.here();
System.Console.WriteLine("oof" + thicc);
}
}
public class watermelone : meme
{
public void here(){
thicc++;
}
public void call(){
nest1.here();
System.Console.WriteLine("watermelone" + thicc);
}
}
}
public static void Main(){
meme me = new meme();
me.nest1.call();//adding 1
me.nest2.call();//adding 1
System.Console.WriteLine("here is the current thicc value of the me class:" + me.thicc);
}
}
是的,所以这段代码根本不起作用,我没有花太多精力,但是您知道我要完成的事情。
答案 0 :(得分:1)
您可以使用界面将类的功能分为相关的组。
从此:
class Person
{
void sayHello() { }
void sayGoodbye() { }
void walkForward() { }
void walkBackward() { }
}
重构为此:
interface ISpeak
{
void sayHello();
void sayGoodbye();
}
interface IWalk
{
void walkForward();
void walkBackward();
}
class Person : ISpeak, IWalk
{
void ISpeak.sayHello() { }
void ISpeak.sayGoodbye() { }
void IWalk.walkForward() { }
void IWalk.walkBackward() { }
}
class Program
{
static void Main(string[] args)
{
Person person = new Person();
IWalk walk = person;
ISpeak speak = person;
speak.sayHello();
walk.walkForward();
}
}