很明显像这样
如果有一种方式可以从静态方法内部获取调用它的类的引用,那么这将起作用,但据我所知并没有这种方法。
我有哪些选择?
static void DoSomething(ClassPointer* MyPtr = this)
的做法是行不通的,因为静态方法没有this
。然而当我调用这个DoSomething
时,我总是传递来自调用它的类的this
,我不想每次都这样做。如果有一种方式可以从静态方法内部获取调用它的类的引用,那么这将起作用,但据我所知并没有这种方法。
我有哪些选择?
ClassPointer
(或其他)有一个->isOnServer()
方法。 所以这是他们都愿意拥有和提供的常见定义。 问题是,只要有一个公共地方来放置->isOnServer()
的定义,为什么不在同一方法列表中旁边放置->DoSomething()
并正常获取this
指针。 如果您想将某些实现代码放在另一个类中,则可以调用OtherClass::DoSomethingCore(this)
,但这只需编写一次。 - HostileFork says dont trust SE