For example, you can define an abstract class that does not have a specific definition of GetName function:
// In Class Library:
public abstract class ClassA
{
// . . .
public void SomeFunction()
{
GetName( );
}
protected abstract void GetName( );
}
Then you can override it, providing the implementation that is suitable for the first WPF application:
// In First WPF application:
public class FirstWPFClassA : ClassA
{
protected override void GetName( )
{
// . . .
}
}
The second application will give another implementation.
It is also possible to use delegates and interfaces.