Просто, потому что они существуют, не означает, что они должны использоваться. Большинство преимуществ, полученных от использования именованных блоков, лучше получено при помощи нового закрытого метода.
В дополнение к этим преимуществам, Вы также извлекаете пользу повторного использования кода, и это сократит Ваши длинные методы.
Проблема в том, что property1..3
не свойства, а поля.
Чтобы заставьте их свойства изменить их на:
private static string _property1 = "NumberOne";
public static string property1
{
get { return _property1; }
set { _property1 = value; }
}
Или используйте свойства auto и инициализируйте их значения в статическом конструкторе класса:
public static string property1 { get; set; }
static MyStaticClass()
{
property1 = "NumberOne";
}
... или используйте myType.GetFields (...)
if fields то, что вы хотите использовать.
Try removing BindingFlags.DeclaredOnly
, because according to MSDN:
Specifies that only members declared at the level of the supplied type's hierarchy should be considered. Inherited members are not considered.
Since static's cannot be inherited, this might be causing your issues. Also I noticed the fields you are trying to get are not properties. So try using
type.GetFields(...)