Visual Studio에서 개체를 settings.settings 파일에 저장할 수 있습니까? 그렇다면 어떻게? 나는 당신이 당신의 객체를 직렬화 할 수 있고 그것이 지속되어야한다고 생각하지만, 나는 그것을 제대로 수행하고 있는지 확실하지 않다. 즉, 객체를 다시 얻으려고 할 때 항상 null이다.Visual Studio에서 어떻게 fooSettings.settings 파일에 개체를 저장합니까?
[Serializable()]
[XmlRoot(ElementName = "LayerTCA", IsNullable = false, Namespace = "http://somesite.com")]
public class LayerTCA
{
//This is a COM object so I don't want to serialize this.
IFeatureClass featureClass;
string fullName;
string basicName;
public LayerTCA()
{
}
public LayerTCA(IFeatureClass featureClass)
{
FeatureClass = featureClass;
}
public IFeatureClass FeatureClass
{
get { return featureClass; }
set
{
featureClass = value;
fullName = featureClass.AliasName;
basicName = StringHelper.StringAfterLastFullStop(fullName);
}
}
[XmlAttribute(AttributeName = "BasicName")]
public string BasicName
{
get { return basicName; }
set { basicName = value; }
}
[XmlAttribute(AttributeName = "FullName")]
public string FullName
{
get { return fullName; }
set { fullName = value; }
}
public override string ToString()
{
return FullName;
}
}
직렬화/직렬화 코드를 추가 할 수 있습니까? – Rox
객체를 저장하기위한 fooSettings.settings의 정적 호출 즉, var layerTCA = new LayerTCA(); fooSettings.settings.Default.myLayerTCA = layerTCA; 그리고 검색 할 반대. – Vidar
약간의 업데이트 : 여기에 몇 가지 테스트를 시도해 보았습니다. COM 변수가없는 한 Settings.setting 파일에 클래스를 저장할 수있는 것으로 보입니다. FeatureClass를 직렬화 할 때 무시되도록 속성을 지정하는 방법이 있어야합니다. – Vidar