2012-02-03 3 views
0

내가 온라인으로 읽은 것에서, 필드가 private 인 경우 처음으로 _으로 시작할 수 있습니다. 그러나 내가 다음과 같이 불평 할 때? 내가 사유지를 돌려주고 있기 때문에 그런가? 이것을 사용하는 모든 것이 _myObject에 대해 아무런 생각이 없기 때문에 나에게 이해가되지 않는다. 왜 그렇게 중요 할까?왜 이것이 cls와 호환되지 않습니까?

private MyBusinessObject _myObjectBO; 

protected MyBusinessObject MyObjectBO 
{ 
    get { return _myObjectBO ?? (_myObjectBO= new MyBusinessObject()); } 
} 
+0

오류는 무엇을 말합니까? MyObject는 무엇입니까? – SLaks

+0

경고 메시지는 "My.Namespace.MyService.MyObjectBO' 유형이 CLS 불만 사항이 아닙니다."라고 경고합니다. 나는 WCF 서비스에서 이것을 사용하여 데이터를 가져 오는 일반적인 메소드가있는 BO를 호출한다. – MisterIsaak

+2

그러면 MyBusinessObject는 어떻게 생겼을 까? 그게 문제가되는 곳입니다. – svick

답변

4

메시지는이 호텔의 유형이 호환되지 않는 없다는됩니다.
MyBusinessObject 클래스를 확인하십시오. 많은 개발자가 [assembly: CLSCompliant(true)]을 추가하는 것을 잊어 버렸습니다 (불행히도 표준 템플릿의 일부가 아닙니다)

1

본질적으로 CLS 규격이 아닙니다. MyObject는 어떤 모습입니까? 나는 다음과 같은 코드를 테스트하고, 컴파일시에는 CLS 준수 경고 없어 :

[CLSCompliant(true)] 
public class Program 
{ 
    private MyObject _myObject; 

    [CLSCompliant(true)] 
    public MyObject ComplaintTypeBO 
    { 
     get { return _myObject ?? (_myObject = new MyObject()); } 
    } 

    static void Main(string[] args) 
    { 
    } 
} 

[CLSCompliant(true)] 
public class MyObject 
{ 
} 
관련 문제