Я пишу lib для synapse API в C#, а для разработчика интерфейса я должен писать классы-оболочки. Я хочу, чтобы это было как можно проще, чтобы вызвать метод. Это мой первый проект, и я не уверен, что я пишу или нет.Это правильный способ написать класс оболочки?
примера кода
public string CreateEmployee (Employee lacc)
{
RestHelper lhelp = new RestHelper();
string ljson = CreateEmployee(lacc);//will create JSON
string results = lhelp.APICalls(ljson, lhelp.EndPointUrl(Settings.Employee_CREATE_ENDPOINT), Settings.POST_METHOD);
return results;
}
Так передний конец разработчик должен вызвать метод CreateEmployee() и передать объект Employee и передавать значение.
Пример кода
Employee lemp = new Employee();
EmployeeEndPoint lend = new EmployeeEndPoint();
//lend.GetEmployeeInfo();
lemp.SSN = "222-33-5551";
lemp.Id = "1";
lemp.Line1 = "904,greek row dr";
lemp.City = "arlington";
lemp.CountrySubDivisionCode = "TX";
lemp.PostalCode = "76013";
lemp.BillableTime = false;
lemp.HiredDate = "2014-11-01";
lemp.GivenName = "new";
lemp.FamilyName = "employee";
lemp.DisplayName = "new employee display";
lemp.PrintOnCheckName = "oncheck name nikunj1";
lemp.Active = true;
lemp.FreeFormNumber = "4089170880";
lend.CreateEmployee(lemp);
Так это хороший способ, или я должен создать N возможный конструктор ?? так что он может непосредственно вызывать этот метод .. Я смущен, может кто-нибудь мне помочь ..
Например
public createEmployee(string first name, string last name, string address, string status, ....)
{
//create instnace pass value
}
public createEmployee(string first name, string last name, string address, string)
{
//create instnace pass value
}
Есть определенные поля, которые не являются обязательными и в других некоторых из них итерации так нет фиксированный размер ввода.
Я пишу правильный путь?
Любых «необходимых» свойства должен быть установлен в конструкторе - все остальные «необязательные» свойства должны быть установлены с использованием синтаксиса инициализатора или набора свойств. –
@DStanley Можете ли вы привести мне какой-то пример или какую-то ссылку .. Спасибо – nikunjM
[MSDN] (https://msdn.microsoft.com/en-us/library/ace5hbzh.aspx) - не уверен, какая часть вы застрял на. –