.net 어떻게 선언 형식에서 개체의 이름을 가져올 수 있습니다. 예를 들어 ....net에서 리플렉션을 사용하여 객체 이름을 가져 오는 방법은 무엇입니까?
답변
즉, 변수 이름이며 개체 이름이 아닙니다. 그것은 또한 질문을 제기합니다. 여기에 이름이 무엇입니까?
Information foo, bar;
foo = bar = new Information();
당신은 생성자 등을 위해 이것을 할 수 없습니다. - 일반적으로 건방진 인이 캡처 구현 등에 의존
public static void Main()
{
Information dataInformation = new Information();
Write(() => dataInformation);
}
static void Write<T>(Expression<Func<T>> expression)
{
MemberExpression me = expression.Body as MemberExpression;
if (me == null) throw new NotSupportedException();
Console.WriteLine(me.Member.Name);
}
참고 : 당신이 정말로 원하는 경우 제한 시나리오는, Expression
를 통해 변수 이름을 얻을 수 있습니다.
대단히 감사합니다. 마크, 생각 하나는 대답이 아니며, 다른 접근 방식을 설계하게되었습니다 ... 감사합니다. –
CLR이가는 한 실제로 개체 이름을 결정하는 방법은 없습니다. 이러한 종류의 정보는 디버깅 정보와 어셈블리에 (어느 정도까지) 저장되지만 런타임에는 사용되지 않습니다. 그럼에도 불구하고, 당신이 참조하고있는 객체는 단지 메모리의 한 묶음입니다. 여러 개의 이름을 가진 다중 참조를 가질 수 있으므로 객체를 참조하는 모든 변수의 이름을 얻을 수 있다고해도 사용하려는 프로그램을 프로그래밍 방식으로 결정할 수는 없습니다.
짧은 이야기 : 당신은 그렇게 할 수 없습니다.
모든 프로그래머가 어셈블리 언어를 사용해야하는 이유는 C – Josh
입니다. –
Python은 스크립팅 언어이기도하며 .NET Framework와는 완전히 다르게 빌드됩니다. –
나는 이것이 가능하지 않다고 생각합니다.
하지만 처음에는 왜 이런 식으로해야합니까 ??
내 경험에 비추어 볼 때, 컴파일러 나 제공되지 않는 언어에서 이상한 것이 필요하다면, (가장 자주) 접근법이나 논리에 문제가 있음을 알게되었습니다.
왜 이것을 시도하고 있는지 다시 생각해보십시오.
요약하면 많은 기능을 단순화 할 계획 인 프레임 워크를 설계하기 때문에이 기능이 필요합니다. 어쨌든 귀하의 의견을 보내 주셔서 감사합니다 ... –
- 1. 리플렉션을 사용하여 이름으로 메소드를 가져 오는 경우 리팩토링하는 방법은 무엇입니까?
- 2. 리플렉션을 사용하여 매개 변수 유형을 가져 오는 방법은 무엇입니까?
- 3. 리플렉션을 사용하여 변수 이름을 얻는 방법은 무엇입니까?
- 4. 범위에 간단한 이름을 가져 오는 방법은 무엇입니까?
- 5. .NET에서 Oracle에서 DataSet을 가져 오는 방법은 무엇입니까?
- 6. 사용자 위치 이름을 가져 오는 방법은 무엇입니까?
- 7. 리플렉션을 사용하여 런타임시 현재 스레드에서 현재 메소드 이름을 가져 오는 방법은 무엇입니까?
- 8. C#에서 리플렉션을 사용하여 클래스 멤버에서 객체 값을 가져 오는 방법은 무엇입니까?
- 9. 테이블 속성의 이름을 가져 오는 방법은 무엇입니까?
- 10. 버튼에서 backgroundImage의 이름을 가져 오는 방법은 무엇입니까?
- 11. 클래스 속성의 이름을 가져 오는 방법은 무엇입니까?
- 12. Google지도에서 도로 이름을 가져 오는 방법은 무엇입니까?
- 13. 하위 키 이름을 가져 오는 방법은 무엇입니까?
- 14. 발신자 메소드 이름을 가져 오는 방법은 무엇입니까?
- 15. 리플렉션을 통해 특정 ValueType의 MinValue/MaxValue를 가져 오는 방법은 무엇입니까?
- 16. 리플렉션을 사용하여 클래스 메서드 가져 오기
- 17. javascript/jquery를 사용하여 URL에서 파일 이름을 가져 오는 방법은 무엇입니까?
- 18. jQuery를 사용하여 업로드 양식에서 파일 이름을 가져 오는 방법은 무엇입니까?
- 19. RecordSet을 사용하여 Classic Asp에서 열 이름을 가져 오는 방법은 무엇입니까?
- 20. Android : 이름을 사용하여 리소스에서 문자열을 가져 오는 방법은 무엇입니까?
- 21. Java에서 OID를 사용하여 해시 알고리즘 이름을 가져 오는 방법은 무엇입니까?
- 22. jquery를 사용하여 클래스 이름을 가져 오는 방법은 무엇입니까?
- 23. .NET에서 리플렉션을 사용하여 봉인 된 클래스에서 상속하는 방법은 무엇입니까?
- 24. iPhone의 특정 디렉토리에서 파일 이름을 가져 오는 방법은 무엇입니까?
- 25. 열거 형 값 이름을 가져 오는 QDox
- 26. C# .NET에서 리플렉션을 사용하여 클래스의 속성을 가져 오는 방법 (계층 구조의 수준 지정)? 예를 들어
- 27. COM을 Ironpython으로 가져 오는 방법은 무엇입니까?
- 28. .NET에서 내장 문자 컨트롤의 형식 코드를 가져 오는 방법은 무엇입니까?
- 29. .NET에서 가장 오래된 파일을 디렉토리에서 빠르게 가져 오는 방법은 무엇입니까?
- 30. XPath를 사용하여 요소를 가져 오는 방법은 무엇입니까?
제쳐두고, 변수 이름과 런타임 값 사이의 매핑을 유지하려고하면 유지 관리가 어려워집니다. – JoshJordan
당신이보고있는 것은 텍스트 파일이며 변수 이름은 어쨌든 컴파일되면 변수로 대체됩니다. Jitter가 포인터를 잡으면 결국 변수 이름이 포인터가됩니다. 변수 이름의 텍스트 값은 소스 파일 및 디버깅 기호 외부에서 보존되지 않습니다. – Josh
왜 세계에서 당신은 그것을하고 싶어할까요? 설명해 주시겠습니까? –