我怎么能做部分类不使用部分关键字
本文关键字:用部 关键字 怎么能 做部 分类 | 更新日期: 2023-09-27 18:12:14
我在一次采访中被问到这个问题。我怎么能重复这个关键字的功能?(С# . net)
编辑1:是的,我认为这是一个糟糕的问题,但知道这将回答你们是很有趣的 编辑2:谢谢大家的回答,我明白了!我认为-使用扩展
public class MyClass
{
public Method1()
{
}
}
public static class MyClassExt
{
public static Method2(this MyClass myClass)
{
}
}
MyClass mc = new MyClass();
mc.Method1();
mc.Method2();
编写一个小脚本,在编译之前"连接"不同的文件。
这样的脚本可以是:
#!/bin/bash
grep -P $2 "using .*" > $3
tac $1 | sed '0,/}/{s/}//}' | tac >> $3
grep -v -P ".*class.* {" < $2 >> $3
然后用script File1.cs File2.cs ResultingFile.cs
调用它(如果希望支持名称空间,应该使用更高级的技术)。对于大多数IDE,您可以指定应该在编译前执行的脚本。
另一种可能的方法是使用子类化。假设您有一个局部类
Foo
:
File1
public partial class Foo {
//methods part 1
}
File2
public partial class Foo {
//methods part 2
}
:
public abstract class FooBase {
//methods part 1
}
:
public class RealFoo : FooBase {
//methods part 2
}
所有字段都应该是公共的,您应该为第2部分的方法定义抽象签名,以便您可以调用它们。