Skip to content

Instantly share code, notes, and snippets.

@vasily-kirichenko
Created July 12, 2011 03:58
Show Gist options
  • Select an option

  • Save vasily-kirichenko/1077367 to your computer and use it in GitHub Desktop.

Select an option

Save vasily-kirichenko/1077367 to your computer and use it in GitHub Desktop.
Interfaces
var anotherClass = new AnotherClass();
var worker = new Worker(anotherClass);
worker.DoWork();
class Worker
{
private readonly WorkListener _listener;
public Worker(WorkListener listener)
{
if (listener == null)
throw new ArgumentNullException("listener");
_listener = listener;
}
public void DoWork()
{
//..
_listener.WorkDone();
}
}
interface WorkListener
{
void WorkDone();
}
class AnotherClass : WorkListener
{
void WorkListener.WorkDone()
{
//..
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment