2010-11-16 86 views
3

我可以從c#中的函數返回類對象作爲返回值,而不是返回字符串或int或..etc從函數返回類#

+3

你的問題不明確。你想要一個返回類(即類型,而不是實例)的函數,還是你想要一個返回類型爲'object'(System.Object)的函數? – 2010-11-16 04:23:43

回答

8

C#中的類對象是一個類型。所以你絕對可以從函數返回它:

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

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

ok這個函數有什麼問題 public Bill_spec Get_Bill_Items(string getbillnum,Bill_spec current_bill) {return current_bill;} – kartal 2010-11-16 03:54:39

+0

你正在返回一個Bill_spec的實例,而不是一個類對象。 (我忽略了一個事實,即你只是返回一個參數,這使得一個奇怪的功能。) – 2010-11-16 04:04:07

4

我假設你想從函數返回一個類的實例,那麼答案是肯定的。一個類的實例不過是一個基本上像.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; 
    } 
}