Итак, у меня есть API, написанный на PHP для обновления / добавления / удаления записей в моей базе данных, я использую C # для связи с PHP (публикуемые данные). Но я не хочу иметь несколько методов с практически одинаковым кодом, который делает что-то другое.
Вот так выглядят мои методы для обновления члена моей базы данных:
public static bool UpdateMember(string name, string lastname, string ismanager, string birthday, string positionID, string memberID)
{
using (WebClient client = new WebClient())
{
NameValueCollection PostLoginData = new NameValueCollection()
{
{"update_Member","1" },
{"Name", name },
{"LastName", lastname },
{"isManager", ismanager },
{"Birthday", birthday },
{"PositionID", positionID},
{"MemberID", memberID }
};
string result = Encoding.UTF8.GetString(client.UploadValues($"{Domain}API.php", PostLoginData));
dynamic json = JsonConvert.DeserializeObject(result);
if (json.result == "success")
{
return true;
}
else
{
return false;
}
}
}
Вот так выглядит мой метод для добавления позиции в мою базу данных:
public static bool UploadPosition(string PosName)
{
using (WebClient client = new WebClient())
{
NameValueCollection postPlatformData = new NameValueCollection()
{
{"add_Position","1" },
{"PosName",PosName }
};
string result = Encoding.UTF8.GetString(client.UploadValues($"{Domain}/API.php", postPlatformData));
dynamic json = JsonConvert.DeserializeObject(result);
if (json.result == "success")
{
return true;
}
else
{
return false;
}
}
}
Как вы можете видеть, единственное, что отличается, - это моя NameValueCollection.
Я мог бы иметь коллекцию namevalue в параметре метода, но я спрашиваю, есть ли лучший способ решить эту проблему, поэтому мой вопрос:
есть ли способ иметь только один метод вместо нескольких, который в основном делает то же самое, эффективно?