내가 올바르게 이해하면, 당신은 많은 성질을 가진 물건을 가지고있다. 그러면 당신은 C# reflection을 사용하여 모든 속성을 '스캔'할 수있는 그 방법으로 그 클래스를 만들 수있다.
이
string PropertyThatHasCertainValue(object Value)
{
Type myType = this.GetType();
while(myType != typeof(object))
{
foreach (PropertyInfo property_info in myType.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
{
if (object.Equals(property_info.GetValue(this, null), Value))
{
return property_info.Name;
}
}
myType = myType.BaseType;
}
return "No property has this value";
}
그런 다음 시계에서는, 다음과 같은 시계 추가 :
분석 할 객체의 클래스에이 같은 방법을 만들기
MyObjectInstance.PropertyThatHasCertainValue(ValueYouAreLookingFor)
주 당신이 수도 매개 변수로 object
을 사용하고 싶다면 시계에 입력하는 것이 더 쉽지만 VS 시계 창을 사용하면 숫자와 문자열뿐만 아니라 열거 형도 쉽게 입력 할 수 있습니다. Visual Studio 시계는 매우 강력합니다. 거의 항상 표현을 정확하게 평가합니다.
while 루프를 추가하여 모든 부모를 재귀 적으로 이동했습니다. BindingFlags.NonPublic
은 클래스의 모든 개인 및 보호 된 메소드를 리턴하지만 기본 클래스의 개인 메소드는 리턴하지 않습니다. Object를 치기 전까지는 모든 기본 클래스를 탐색하여이 문제를 해결합니다.
어쩌면 모든 속성을 조사 식 창에 추가하고 발생을 확인해야 할 수도 있습니다. – V4Vendetta
내장 된 것으로 생각하지 않지만 매크로를 고려 했습니까? 어쩌면 디버거에서 형식 필드/속성 목록을 반복하는 방법이 있을까요? – Richard
주소가 있으면 CheatEngine을 확인하는 데 도움이됩니다. 그러나 아마도 당신이 찾고있는 것과는 거리가 멀어 질 것입니다. – SBoss