java代码转换为C#代码的有关问题
java代码转换为C#代码的问题.
学习C#中.希望大家给点信心.
java中可以有以下实例化代码:
这在C#中应该如何简洁实现?
另外,关于线程操作的Runnable接口\synchronized\wait\notify在C#中怎么实现?
------最佳解决方案--------------------
那就没办法了。不过可以这样:
有了这个类就好办了
------其他解决方案--------------------
C#不支持完整功能的匿名类,不过支持委托,可以这么写:
var c1 = new {
function1 = new Action(() => {
Console.WriteLine("blabla.");
}),
toString() = new Func<string>(x =>"bla")
};
c1.function1();
string s = c1.toString();
------其他解决方案--------------------
你指的简洁实现时 代码量敲得最少么?
------其他解决方案--------------------
学习C#中.希望大家给点信心.
java中可以有以下实例化代码:
class1 c1 = new class1() {
public void function1() {
System.Console.WriteLine("blabla.");
}
public String toString() { return "bla"; }
}
这在C#中应该如何简洁实现?
另外,关于线程操作的Runnable接口\synchronized\wait\notify在C#中怎么实现?
------最佳解决方案--------------------
那就没办法了。不过可以这样:
class interface1Adapter : interface1
{
private Action<object> f1;
private Func<imt, int> f2;
public interface1Adapter(Action<object> interfacefunction1, Func<imt, int> interfacefunc2)
{
f1 = interfacefunction1;
f2 = interfacefunc2;
}
public void interfacefunction1(object i2) { f1(i2); }
public int interfacefunc2(int p1) { return f2(p1); }
}
有了这个类就好办了
var c1 = new interface1Adapter(
x => { Console.WriteLine("interface2 run"); },
x => { Console.WriteLine("bla."); return 0; });
------其他解决方案--------------------
C#不支持完整功能的匿名类,不过支持委托,可以这么写:
var c1 = new {
function1 = new Action(() => {
Console.WriteLine("blabla.");
}),
toString() = new Func<string>(x =>"bla")
};
c1.function1();
string s = c1.toString();
------其他解决方案--------------------
你指的简洁实现时 代码量敲得最少么?
------其他解决方案--------------------
var c1 = new {
function1 = new Action(() => {
Console.WriteLine("blabla.");
}),