首页 > 解决方案 > 如何使用具有两种类型的通用接口返回方法

问题描述

我需要创建一个 2 类型的接口并将其用作方法返回值。

public interface StringLong<T1,T2>
where T1 : string
where T2 : long
{}

StringLong<T1,T2> method StringLong<T1,T2>()

标签: c#genericsgeneric-constraintsgeneric-interfacegeneric-type-parameters

解决方案


用两个泛型类型定义一个接口是没有意义的,你只需要stringlong

听起来你只想要一个元组:

(string, long) MyMethod()
{
    return ("Hello", 42L);
}

您甚至可以命名返回值:

(string message, long meaningOfLife) MyMethod()
{
    return ("Hello", 42L);
}

然后你可以写:

var result = MyMethod();
Console.WriteLine(result.message);
Console.WriteLine(result.meaningOfLife);

推荐阅读