If I have an interface:
interface IMyInterface
{
void DoSomething();
}
And an implementing class:
class MyClass : IMyInterface
{
public void DoSomething()
{
}
}
Is DoSomething a candidate for inlining? I'd expect "no" because if it's an interface then the object may be cast as a IMyInterface, so the actual method being called is unknown. But then the fact that it's not marked as virtual implies it may not be on the vtable, so if the object is cast as MyClass, then maybe it could be inlined?