Привет. Я пытаюсь использовать отражение C # для вызова метода, которому передается параметр и, в свою очередь, возвращается результат. Как я могу это сделать? Я попробовал пару вещей, но безуспешно. Я привык к PHP и Python, где это можно сделать в одной строке, поэтому это очень смущает меня.
По сути, это то, как вызов будет сделан без отражения:
response = service.CreateAmbience(request);
запрос имеет следующие объекты:
request.UserId = (long)Constants.defaultAmbience["UserId"];
request.Ambience.CountryId = (long[])Constants.defaultAmbience["CountryId"];
request.Ambience.Name.DefaultText = (string)Constants.defaultAmbience["NameDefaultText"];
request.Ambience.Name.LanguageText = GetCultureTextLanguageText((string)Constants.defaultAmbience["NameCulture"], (string)Constants.defaultAmbience["NameText"]);
request.Ambience.Description.DefaultText = (string)Constants.defaultAmbience["DescriptionText"];
request.Ambience.Description.LanguageText = GetCultureTextLanguageText((string)Constants.defaultAmbience["DescriptionCulture"], (string)Constants.defaultAmbience["DescriptionDefaultText"]);
Это моя функция для реализации отражения, где serviceAction для приведенного выше случая будет "CreateAmbience":
public static R ResponseHelper<T,R>(T request, String serviceAction)
{
ICMSCoreContentService service = new ContentServiceRef.CMSCoreContentServiceClient();
R response = default(R);
response = ???
}