Полиморфизм, Повторное использование кода, ООП, C # вопрос.Я хотел бы создать метод, подобный:
private void ManyLinesOfCode(DataContext mycontext)
, но я не смог бы отправить ему мои фактические данные, так как они не относятся к типу DataContext, и я не смог выполнить приведение,компилирует.
var includeCustomersFlag = Request["includeCustomersFlag"];
if (includeCustomersFlag == "1")
{
var context = new TypeByRepGroupDataContext();
var lines = context.TypeByRepGroups;
.... many lines of code
}
else if (includeCustomersFlag == "2")
{
var context = new TypeByRepGroupNoChainsDataContext();
var lines = context.TypeByRepGroupsNoChains;
.... many lines of code
}
else
{
var context = new TypeByRepGroupChainsOnlyDataContext();
var lines = context.TypeByRepGroupsChainsOnliess;
.... many lines of code
}
У меня есть обходной путь, использующий одну параметризованную хранимую процедуру в моем текстовом тексте вместо нескольких текстовых данных, основанных на разных представлениях, но я бы предпочел иметь решение ac # для раздутого кода выше.
Я пытаюсь работать с решением Альбина.Я могу скомпилировать это:
public interface IMyInterface
{
string arcxpostyy {get; set;}
string arcxpostmm {get; set;}
string CustArea {get; set;}
string type {get; set;}
System.Nullable<decimal> amt {get; set;}
}
partial class TypeByRepGroup : IMyInterface { }
partial class TypeByRepGroupNoChain : IMyInterface { }
partial class TypeByRepGroupChainsOnly : IMyInterface { }
Но ... это не дает мне ничего, как есть.Я очень сомневаюсь, что я делаю этот интерфейс правильным, но я хотел, по крайней мере, приложить усилия и не уверен, как использовать его в своем коде (фрагмент кода в моем вопросе.) В Интернете нет ссылок на фактическую реализацию этого решения.что я мог найти.Кто-нибудь может полностью описать решение?
Я начинаю работу в качестве старшего инженера-программиста через пару недель и хотел бы иметь возможность делать такие вещи.