Я пишу веб-сервис для предоставления определенных фрагментов данных одному из наших сторонних приложений. Их команде требуется универсальный способ получения значений полей в нашей системе. Я написал класс, в котором единственными открытыми членами класса являются те значения, которые им нужны. Я хотел бы, чтобы они передавали перечисляемую строку, которая является именем члена, который они хотят получить, и, если это действительное имя открытого члена, возвращают значение этого члена. Я возился с некоторыми методами отражения в .net, но не могу понять, какое поведение я ищу. Я пытаюсь написать что-то, чтобы воссоздать функциональность этого псевдокода:
public Object webserviceMethodToReturnValue(Guid guidOfInternalObject, String nameOfProperty)
{
internalObject obj = new internalObject(guid); //my internal company object, which contains all the public members the external company will need
Object returnObject = obj.{nameOfProperty}; //where name of property is evaluated as the name of the member of the internalOject
return returnObject; //returning an object that could be casted appropriately by the caller
}
Чтобы вы могли позвонить в службу как:
String companyName = (String)webserviceMethodToReturnValue(guid, "companyName");