我不确切知道如何,但在某个时刻我们破坏了我们完整的视觉工作室解决方案.它不会再构建,也不会干净,也不会找到任何参考.
经过几个小时的搜索并尝试修复我们所做的一切,以至于所有东西都在建造并再次运行.
但是..每当我们打开解决方案时,我们都会收到消息"最近已将项目添加到此解决方案中.你想从源代码控制中获取它们吗?"
这可能是因为尝试修复一件事并破坏其他东西.
我们如何摆脱这个消息?
我们有一个抽象类BaseClass(注意泛型arg!)和一个名为me的方法.我回来了.
如果我们在具体类中使用Me,我们将得到一个返回类型对象.然后我们必须将Me的结果转换为我们最初使用的类型.
我们怎样才能实现Me返回它的实际类型?在这个例子中输入A?
public abstract class BaseClass<TIdentifier>{
public virtual object Me{ get { return this; } }
}
public class A: BaseClass<long>
{
}
public class B: BaseClass<long>
{
}
public class controller{
public void SomeMethod(){
var a = new A();
var b = new B();
var aObject = a.Me; // this will be of type object
var aObjectCasted = (A)aObject; // cast to original
// How I want it
var aConcrete = a.Me; // this returns type a
} …Run Code Online (Sandbox Code Playgroud)