4

私は以下のような機能を持っています。

private IList<ContactList> getEmptyRow()
{
    var _ContactList = new List<ContactList>();
    _ContactList.Add(new ContactList()
    {
        Email = string.Empty,
        Name = string.Empty
    });

    return _ContactList;
}

クラスContactListを次のように変更したい

private IList<T> getEmptyRow() {  ..... T.Add(new T()....

これは可能ですか?そしてどうやって ?
すべての提案をいただければ幸いです。

4

2 に答える 2

6

もしかしてこういうこと?

public interface IPerson
{ 
    string Email {get;set;}
    string Name {get;set;}
}

public class SomeClass
{
    private IList<T> getEmptyRow<T>() where T : IPerson, new()
    {
        var t = new List<T>();
        t.Add(new T()
        {
            Email = string.Empty,
            Name = string.Empty
        });

        return t;
    }
}

Emailパブリック プロパティを設定できるようにインターフェイスまたは基本クラスが必要であり、既定のコンストラクターを使用できるようNameに制約が必要です。new()

于 2012-10-08T02:02:48.310 に答える