2010-11-29 7 views
1

나는 다음과 같은 오류 준다 내 프로그램접근성

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

을 그러나 문제를 해결할 수 없습니다.

기본적으로
public Chromosome NewChromosome { get; set; } 

, 속성의 접근에 대한 액세스 한정자가 동일한 액세스 한정자가 지정됩니다 참고로

, 여기에 유형 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

publicpublic set에서 제거하거나 public보다 더 제한적으로 설정하십시오.

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

그것은 get_accessor_modifierset_accessor_modifierproperty_access_modifier보다 더 제한적인 것을해야합니다. 귀하의 경우 property_access_modifier은 및 set_accessor_modifierprotected, internal, protected internal 또는 private이어야합니다. public이어야합니다.

property_access_modifierprivateget_accessor_modifierproperty_access_modifierset_accessor_modifier 기본적으로 그것을 다음 기본값을 생략하면 그들이이 생략 된 경우 있음을 유의하십시오.

5

드롭 세터에 public 액세스 한정자를하다 재산 자체로서. 접근 자에 대한 명시 적 액세스 한정자를 설정하는 경우 속성의 액세스 한정자보다 더 제한적이어야합니다.

+0

감사합니다. –