я в настоящее время этот код написан:Есть ли причина использовать очень простые свойства над полями?
public class General
{
/// <summary>
/// Private variables.
/// </summary>
private const float fVersion = 1.3f;
private static bool bMonitoring = false;
/// <summary>
/// Retrieves the current version of the application.
/// </summary>
public static float Version
{
get
{
return fVersion;
}
}
/// <summary>
/// Are we monitoring performance?
/// </summary>
public static bool Monitoring
{
get
{
return bMonitoring;
}
set
{
bMonitoring = value;
}
}
}
В случае, если я проверяю для General.bMonitoring
или General.Version
часто (! Возможно .. более 100 раз в секунду), и на самом деле заботится о производительности: это хорошая практика, чтобы оставить свой класс написано так, или я должен просто удалить эти свойства и сделать поля общедоступными?
Я думаю, что вы не должны заботиться о с этим. Но доступ к этим значениям с помощью метода get походит на метод вызова, я думаю. Если вы прямо вызываете свое значение из значений static class и const, я думаю (необходимо проверить), вы избежите микровызов для материала метода и цикла возврата. – pix
Я действительно забочусь, потому что в моем случае мое приложение читает из памяти другой программы 1000 раз в секунду (цикл 'while' с' Thread.Sleep (1); 'поэтому я предпочитаю никогда не отставать. – shavit
http: // stackoverflow .com/questions/295104/what-is-the-difference-from-a-field-and-a-property-in-c –