Calling class member (IService) by method in another thread
<p>I want to implement a template method in my class, therefore I have an abstract base class with protected members.
In the concrete class I want to use this members in a method which is called by another thread.</p>

<p>Now my question is - is that safe?</p>

<pre><code>public abstract class ClassBase
{
    protected IService service = new Service();

    protected internal abstract Method();
}


public sealed class Class : ClassBase
{
    public void RunAsync()
    {
       InvokeAsync(Method); //Just a sample - runs asyncrounus
    }

    protected internal override Method()
    {
       var v = this.service.GetById(125);
       ...
    }
}
</code></pre>

<p>Or do I have to create Service type within the Method() in the inherited class?
It's just a service class which handles database operations.</p>
