2015-11-08 2 views

ответ

4

Поле является переменной любого типа, который объявлен непосредственно в классе или структуры. Поля являются членами их типа. (https://msdn.microsoft.com/en-us/library/ms173118.aspx)

и

тип определен внутри класса или структуры, называется вложенным типом. (https://msdn.microsoft.com/en-us/library/ms173120.aspx)

Например, в классе

class Foo 
{ 
    private int a; 

    public class Bar 
    { 
     // ... 
    } 
} 

a является полем и Bar является вложенным типом.

1
class Foo { 
    private String _aField; 

    private class ANestedClass { 
     private String _aFieldInANestedClass; 
    } 
} 

Как так:

public void Blargh() { 
    Foo foo = new Foo(); 
    FieldInfo aField = foo.GetType().GetField("_aField"); 
    String aFieldValue = aField.GetValue(foo); 

    Type[] nestedTypes = foo.GetType().GetNestedTypes(); 
    Type aNestedClass = nestedTypes.Single(t => t.Name == "ANestedClass"); 
} 
Смежные вопросы