在C#中从函数返回类

7

我可以在C#中将类对象作为函数的返回值返回,而不是返回字符串、整数等。


3
你的问题不够清晰。你是想要一个返回类(即类型,而非实例)的函数,还是想要一个返回 object 类型(System.Object)的函数? - Joe White
3个回答

13

C# 中的类对象是一种类型。因此,你绝对可以从一个函数中返回它:

public Type Foo() {
    return typeof(string);
}

public Type Bar() {
    return someNonNullVariable.GetType();
}

这个函数有什么问题? public Bill_spec Get_Bill_Items(string getbillnum, Bill_spec current_bill) { return current_bill;} - kartal
你返回的是Bill_spec的实例,而不是类对象。(我忽略了你只返回其中一个参数的事实,这使得函数有些奇怪。) - James Kovacs

8
我假设您想从函数返回一个类的实例,那么答案是肯定的。类的实例只是 .NET 中基本上所有其他对象一样的对象。
示例:
public class MeaningfulClassName
{  
    public int Val1;
    public string Val2;
    ....
}

public class Processor
{
    public MeaningfulClassName MyFunction(int something, string somethingelse)
    {
        var ret = new MeaningfulClassName();

        ....

        return ret;
    }
}

我需要根据一个字符串变量返回一个类。我找到的所有示例都使用Type和typeof,这些对象可以访问略有不同的内容。这是我找到的第一种也是唯一一种能够返回我可以使用的类的解决方案,谢谢! - Sam

-2

我理解你的问题是关于一个方法是否可以返回一个类。目前,我敢说不行。现在是2018年4月5日。

下面我使用了System.Class,这是一个最著名的类,用于System.Class.WriteLine

一个人不能声明

Func<System.Class> C => System.Class;

能够
C.WriteLine("Hello world!");

有人能否证明我错了!
如果这个功能能够帮助我模拟一个静态页面,我会非常喜欢它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接