1

我正在尝试创建一个方法,其中传递一个必须实现需要类型约束的特定类的参数。我将能够放置一个泛型类型 costraint 参数。

这是我的问题的一个场景:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public class TestClass
    {
        public void TestMethod(SharedClass<???> obj)
        {
            //DoSomething
        }

        public void Main()
        {
            TestMethod(new FixedClass1()); //Work if TestMethod(SharedClass<FixedInterface1> obj)
            TestMethod(new FixedClass2()); //Work if TestMethod(SharedClass<FixedInterface2> obj)
        }
    }

    public class FixedClass1 : SharedClass<FixedInterface1> { }

    public class FixedClass2 : SharedClass<FixedInterface2> { }

    public class SharedClass<T> where T : class { }

    public interface FixedInterface1 { }

    public interface FixedInterface2 { }

}

感谢所有回复。

4

1 回答 1

0

这是你想做的吗...

public void TestMethod<T>(SharedClass<T> obj) where T : class
{
    //DoSomething
}
于 2013-04-18T23:31:41.097 回答