Dot Net Core项目我正在努力,但我欢迎Dot Net Framework的投入,为Dot Net Core带来创意。
类对象的转换就像这样。
public class Foo
{
public string Value1 { get; set; }
public string Value2 { get; set; }
}
Foo foo1 = new Foo() { Value1 = "1", Value2 = "2" };
var foo2 = (object)foo1;
var foo3 = (Foo)foo2;
那可行,但是有构造函数的类怎么样? (在这种情况下,假设我有20个webservice类,我可以通过消除太多的声明和脚本来缩短脚本)。
可以这样做吗?只是想知道因为在路上,当我们不断添加更多的webservice类时 - 它变得不可持续。
public class Foo1
{
public Foo(string value1, string value2)
{
}
public void Method1()
{
}
}
public class Foo2
{
public Foo(string value1, string value2)
{
}
public void Method2()
{
}
}
//public class Example
//{
object foo;
var foo1 = new Foo1("1","2");
var foo2 = new Foo2("1","2");
foo = (Foo1)foo1;
foo.Method1();
foo = (Foo2)foo2;
foo.Method2();
//}
答案 0 :(得分:1)
不,你不能这样做,因为那两个foos是不同的对象。如果您有相同的界面,可以这样做。
public interface IFoo
{
}
public class Foo1 : IFoo
{
public Foo1(string v1, string v2)
{
}
public void Method1()
{
}
}
public class Foo2 : IFoo
{
public Foo2(string v1, string v2)
{
}
public void Method2()
{
}
}
public class test
{
public void TestFoo()
{
Foo1 foo1 = new Foo1("test", "test2");
Foo2 foo2 = new Foo2("test1", "test2");
IFoo foo = foo2;
((Foo2)foo).Method2();
}
}