>백엔드 개발 >C++ >.NET 4 동적 개체에서 속성과 값을 검색하는 방법은 무엇입니까?

.NET 4 동적 개체에서 속성과 값을 검색하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-22 23:17:15173검색

How to Retrieve Properties and Values from a .NET 4 Dynamic Object?

.NET 4의 동적 개체에서 속성 검색

.NET 4에서 dynamic 키워드를 사용하여 선언된 동적 개체는 리플렉션을 통해 속성 값을 검색하려고 할 때 문제를 일으킬 수 있습니다.

질문:

동적 객체에서 속성 이름과 해당 값의 사전을 얻는 방법은 무엇입니까?

예:

<code class="language-csharp">dynamic s = new ExpandoObject();
s.Path = "/Home";
s.Name = "Home";

// 如何枚举 Path 和 Name 属性并检索它们的值?
IDictionary<string, object> propertyValues = ???</code>

정답:

ExpandoObject 객체의 경우 해결 방법은 매우 간단합니다. ExpandoObject은 해당 속성에 대해 IDictionary<string, object> 인터페이스를 구현합니다.

<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>

이 방법은 모든 동적 개체에 작동하지 않을 수 있습니다. 보다 일반적인 동적 객체의 경우 IDynamicMetaObjectProvider을 통해 DLR을 사용해야 합니다.

위 내용은 .NET 4 동적 개체에서 속성과 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.