static object Runtime(IBackend addon, string more = null) { var need = addon as INeed; if (need != null) { need.Input = more; } addon.Execute(); var give = addon as IGive; if (give != null) { return(give.Output); } return(null); }