문제
.NET 프로젝트에서 설정 클래스를 사용하고 있습니다. 편집기에서 특정 유형 만 설정 클래스의 개별 속성에 대한 유형으로 사용할 수 있음을 알 수 있습니다. 내 코드에서 열거 된 속성이나 제네릭 컬렉션을 원한다면 어떻게해야합니까? 어떻게 구현하겠습니까?
부분 클래스 메커니즘을 사용하여 별도의 파일로 수행 할 수 있다고 생각하지만 (설정은 이미 부분 클래스로 정의되어 있기 때문에) 누군가가 그에 동의하고 내부에 할 수있는 방법이 있는지 확인하고 싶습니다. 편집자.
해결책
복잡한/사용자 정의 선택 유형을 추가하기 위해 새 "설정"파일을 만듭니다. 열거 방법은 다음과 같습니다.
1 단계. 설정 파일을 만듭니다
2 단계. 유형을 찾아보십시오
3 단계. 유형을 선택하십시오 (네임 스페이스. 타자 이름)
4 단계. ta da- 완료
다른 팁
해당 목록에 사용자 정의 클래스를 표시하려면 기본 생성자가 구성 옵션 중 하나로 있는지 확인하십시오. 나는 이것을 어려운 방법으로 배웠다
설정 파일에서 제네릭 목록이 가능한지 여부에 대한 Jeffrey의 의견/질문에 답하기 위해 대답은 예입니다. 설정 XML 파일을 수동으로 편집하면됩니다. 예를 들어 다음 수업이있는 경우 :
public class UrlAlias
{
public string Name { get; set; }
public string BaseUrl { get; set; }
}
내 설정 파일을 마우스 오른쪽 버튼으로 클릭하여 이들 목록을 작성하고 열기를 선택할 수 있습니다.
그런 다음 XML / 텍스트 편집기를 선택하고 완전한 자격을 갖춘 클래스 이름으로 "type"값을 설정하십시오.
Type="System.Collections.Generic.List`1[MyProject.SomeNamespace.UrlAlias]"
전체 설정 XML은 다음과 같습니다.
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="MyProject.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="UrlAliases" Type="System.Collections.Generic.List`1[CommonAddin.Data.DataSource.UrlAlias]" Scope="User">
<Value Profile="(Default)"></Value>
</Setting>
</Settings>
</SettingsFile>
이 작업을 수행하면 작성한 사용자 정의 설정 객체의 올바르게 구성된 목록이 있어야합니다.
부분 클래스의 일부로 별도의 파일로 수행하는 것은 완전히 허용됩니다.
구성 파일을 통해 복잡한 개체를 채울 수 있으려면 일부 종속성 주입 프레임 워크 SA Spring.net을 사용하는 것이 좋습니다.