2017-04-18 133 views
0

我試圖reurn類定義以後使用它的JSON對象的反序列化,或多或少以下Java功能的重複:C#:返回一個類的定義(Java的getClazz副本)

public Class<?> getClazz() 
{ 
    return Account.class; 
} 

到目前爲止,我已經在我的C#解決方案這樣寫(型號是包含Account.cs,描述了Account類的文件的文件夾):

public Type getClass() 
    { 
     return Models.Account; 
    } 

我得到的錯誤記載:「帳號是一種類型,在給定的上下文中無效。「

我使用Microsoft Visual Studio 2015,非常感謝任何幫助或建議!

+2

怎麼樣'.GetType()'的方式嗎? –

+2

'typeof(Models.Account)'應該訣竅 – Caramiriel

+0

文件夾對類的名稱沒有任何影響,但* namespaces *可以。所以我認爲你的實際類名只是'Account',而不是'Models.Account'。反映名稱空間內的文件系統結構是常見的做法,但這不是必須的。 – HimBromBeere

回答

4

Models.Account並不代表Type對象。

基本上,這是C#代碼可以「逐字逐句」翻譯成Java的時代,反之亦然。

Java       C# 
----------------------------------------------- 
SomeClass.class    typeof(SomeClass) 
objOfSomeClass.getClass()  objOfSomeClass.GetType() 

這意味着,您可以返回typeof(Models.Account)

但是正如你所看到的,在C#中已經存在一個方法,它相當於Java的getClass-GetType,所以你的方法實際上是不必要的。

側面說明:getClass是一個本地方法,它是絕對不會執行你寫吧:)

+0

謝謝,我還沒有測試過,但它似乎解決了我的問題!我對C#有點新鮮,所以我真的深入瞭解了深入的答案! –

相關問題