C# Affectation de propriété par défaut pour la classe et l'opérateur =

Problème 1:

J'ai une simple application winforms et je veux DataBind ma Personne.Nom de la propriété à une zone de texte. Le nom est de type StringField. J'ai d'abord défini le Nom de la propriété en tant que Chaîne de caractères. La liaison de données fonctionne très bien sur les types de valeur tels que Chaîne de caractères. Je voudrais que le StringField.La valeur de la propriété à la propriété par défaut de StringField. Je veux voir la valeur de StringField.Valeur dans la zone de texte plutôt que le texte "FieldApp.StringField".

Problème 2:

Je voudrais être en mesure d'assigner une chaîne à une StringField l'aide de l'opérateur =. Cette mission aurait pour résultat la StringField.La valeur de membre en cours de jeu.

Cela peut-il être réalisé?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace FieldApp
{
public class StringField
{
public string Value { get; set; }    
}
public class Person
{
//private String _Name;
//public String Name
//{
//   get { return _Name; }
//   set { _Name = value; }
//}
//public Person(string name)
//{
//   Name = name;
//}
private StringField _Name;
public StringField Name
{
get { return _Name; }
set { _Name = value; }
}
public Person(string name)
{
Name = new StringField();
Name.Value = name;
}
}
public partial class FieldAppForm : Form
{
Person person = new Person("steve");
public FieldAppForm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//our form contains a button1 and textBox1
//this compiles
person.Name.Value = "steve";
//this does not. Is there anyway to accomplish this?
person.Name = "steve";
//steve appears in the textbox 
textBox1.DataBindings.Add("Text", person, "Name.Value");
//FieldApp.StringField appears in the textbox 
textBox1.DataBindings.Add("Text", person, "Name");
}
}
}
InformationsquelleAutor Steve | 2009-01-11