-4
コントローラからモデルへプライベートコンストラクタにアクセスする方法はありますか?次のようにモデルを呼び出すメソッドを含む
コントローラは次のとおりです。mvcのコントローラからモデルクラスへのプライベートコンストラクタへのアクセス方法4
public ActionResult ReadXML()
{
XmlSerializer reader = new XmlSerializer(typeof(List<Asseted>));
TextReader textReader = new StreamReader(@"D:\Tial2.xml");
List<Asseted> asseted;
List<Asseted> list = new List<Asseted>();
asseted = (List<Asseted>)reader.Deserialize(textReader);
textReader.Close();
for (int i = 0; i < asseted.Count; i++)
{
string data123 = Convert.ToString(asseted[i].PopertyValue);
string data234 = Convert.ToString(asseted[i].PropertyName);
list.Add(new Asseted(data123,data234));
}
return View();
}
Methodを含むモデルが呼ばれるように、次のとおりです。
[XmlRoot]
public class Asseted
{
string pName, pValue;
private string data234;
private string data123;
private Asseted(string data234, string data123)
{
// TODO: Complete member initialization
PropertyName = data234;
PopertyValue = data123;
}
[XmlElement]
public string PropertyName { get; set; }
[XmlElement]
public string PopertyValue { get; set; }
}
Assetedクラスにプライベートコンストラクタが必要なのはなぜですか? –
私は文字列としてリストとして表示するコントローラからの名前/値のペアを印刷したいので –
短い答えはいいえです(プライベートはクラス自体にプライベートを意味します)。しかし、あなたのループのポイントは何ですか。 'asseted =(List)reader.Deserialize(textReader);' codeはすでにコレクションを作成しています。別の同一のコレクションを作成する際のポイントは何ですか?そして、なぜ 'string'を別の' string'に変換するのですか(それは既に 'string'です) –