访问c#中内部类的成员

时间:2014-03-04 13:52:38

标签: c# .net class serialization deserialization

我试图找到这个看似简单的任务的方法,但没有成功。对不起,我是oop和c#的新手。请原谅,如果它是微不足道的 我必须在下一课中访问verb

public class testclass
{
 public class selector
  {
    public static string verb { get; set; }
  }
  //some other classes here
 }

一个api类deserliazes并返回一个testclass对象。

var res = apicall(); //retruns testclass object

我想访问动词并检索它的值。怎么办呢?

2 个答案:

答案 0 :(得分:2)

由于这是 static 属性,因此您可以将其作为:

进行访问
string str = testclass.selector.verb;

请注意,访问与apicall()返回的实例无关。


编辑:如果verb不是静态成员,那么您需要在某处定义selector的实例来访问该成员。例如:

public class TestClass
{
     public class Selector
     {
          public string Verb{ get; set; }
     }

     public Selector SomeSelector {get; set;}  
 }

现在您有selector类型的成员,您可以访问:

 var res = apicall();
 var str = res.SomeSelector;

答案 1 :(得分:1)

您可以通过以下方式访问动词:

testclass.selector.verb

因为它是静态属性,这意味着它被定义为此特定类型而不是对象。

但是,如果你想用res对象指向动词,你需要定义res变量的类型,否则编译器将不允许你编译这段代码。例如:

testclass res = apicall();