2010-11-29 2 views
1

У меня есть следующие строки кода в моей программеДоступность ошибки Accessors

public Chromosome NewChromosome { get; public set; } 

, который дает следующее сообщение об ошибке:

Error 1

The accessibility modifier of the 'ARP_TLL.DataAccess.ChromosomeAddedEventArgs.NewChromosome.set' accessor must be more restrictive than the property or indexer 'ARP_TLL.DataAccess.ChromosomeAddedEventArgs.NewChromosome'

C:\Users\kiangtengl\Programming\Projects\ARP_TLL\ARP_TLL\DataAccess\ChromosomeAddedEventArgs.cs

16
55
ARP_TLL

Я попытался изменения доступности модификаторов аксессоров и имущества но я не могу решить проблему.

Для справки, вот типа Chromosome

public class Chromosome 
{ 
    #region properties 

    public int Length 
    { 
     get; 
     set; 
    } 

    public int Number 
    { 
     get; 
     set; 
    } 

    #endregion 

    #region creation 

    public static Chromosome CreateChromosome(int _length, int _number) 
    { 
     return new Chromosome 
     { 
      Length = _length, Number = _number, 
     }; 
    } 
    #endregion 
} 

ответ

3

Удалить public от public set или сделать его более ограничительным, чем public. В

[property_access_modifier] property_type property_name { 
    [get_accessor_modifier] get; 
    [set_accessor_modifier] set; 
} 

это должно быть, что get_accessor_modifier и set_accessor_modifier являются более строгими, чем property_access_modifier. В вашем случае property_access_modifier является public, так что get_accessor_modifier и set_accessor_modifier должно быть protected, internal, protected internal или private.

Имейте в виду, что если property_access_modifier опущен, то по умолчанию для private и get_accessor_modifier и set_accessor_modifier по умолчанию в property_access_modifier если они опущены.

5

Drop модификатор public доступа на инкубаторе:

public Chromosome NewChromosome { get; set; } 

По умолчанию модификаторов доступа для аксессоров свойства в назначаются тот же модификатор доступа как само свойство. Если вы решите установить явный модификатор доступа для доступа, он должен быть более строгим, чем модификатор доступа к свойствам.

+0

Это сработало, спасибо – 2010-11-29 03:55:23

Смежные вопросы