Q:

Make field/method accessible only to derived classes within same assembly? 

On a public class in C# is there a way to make a field/method accessible only to derived classes within the same assembly? 
From what I understand protected internal in C# means the same as protected or internal (ie accessible to derived classes or classes from the same assembly), which is not what I need. 

A:

What if you removed the "internal" only fields/methods from the public class to an internal class.   Then all of the classes in that assembly could derive from the internal class:
public abstract class MyClass
{
    public string Name { get; set; }
}

// Only classes in this assembly can derive from this class
internal abstract class InternalClass : MyClass
{
    protected string Other { get; set; }
}

