Это могло бы шов, как странный вопрос, но ....Как получить название объекта?
public string MyProperty
{
get
{
return "MyProperty";
}
}
Как я могу заменить оператор возврата Ехать возвращает имя свойства без его жёстко?
Это могло бы шов, как странный вопрос, но ....Как получить название объекта?
public string MyProperty
{
get
{
return "MyProperty";
}
}
Как я могу заменить оператор возврата Ехать возвращает имя свойства без его жёстко?
я бы не рекомендовал делать это в целом, но здесь мы идем:
return MethodBase.GetCurrentMethod().Name.Substring(4);
Использование обфускатором полностью может ввернуть это вверх, кстати.
Ну, разве это не то, для чего предназначены обфускаторы? :-) – Joey
Johannes: Возможно;) Но вы не хотите, чтобы они превращали ваш код в «IndexOutOfRangeException». –
спасибо :), который отлично работал. Еще одно объяснение того, зачем мне это нужно: мне было предоставлено приложение, которое использует около 50 ключей из файла webconfig. И моя задача - разрешить приложению работать с любым количеством клиентов (необходимо повторить эти 50 ключей для каждого нового клиента). Итак, я переместил ключи в отдельный файл и вам нужно создать класс, который инкапсулирует доступ к данным, чтобы иметь возможность создавать массив клиентов. – Sergio
Если вы используете .NET, вы можете также использовать LINQ для идентификации этого:
public static string GetName<T>(Func<T> expr)
{
var il = expr.Method.GetMethodBody().GetILAsByteArray();
return expr.Target.GetType().Module.ResolveField(BitConverter.ToInt32(il, 2)).Name;
}
Я не могу утверждать кредит для этого решения - это произошло из here.
dazzler ;-) +1 очень интересный подход, никогда не слышал об этом –
Это действительно странный вопрос. Каково намеренное использование? –
предположительно для отладки, чтобы он мог распечатать какой метод происходит в событии? –