2016-11-15 1 views
2

글쎄, 파이썬에서 아주 멍청한데, 이제는 IronPython으로 C# 코드를 변환하려고합니다. 속성 유무의 문제 : 다음IronPython의 속성 : 영원한 루프

예를 들어 내 클래스입니다 (http://www.programiz.com/python-programming/property에서 그것을 가지고) :

class SomeClass(object): 

    def __init__(self, temperature = 0): 
     self._temperature = temperature 

    def to_fahrenheit(self): 
     return (self.temperature * 1.8) + 32 

    @property 
    def temperature(self): 
     print("Getting value") 
     return self.temperature 

    @temperature.setter 
    def temperature(self, value): 
     print("Setting value") 
     self.temperature = value 

나는이

cb = SomeClass() 
temp = cb.to_fahrenheit() 

I와 같은 다른 클래스에서이 속성을 얻으려고 "가치 얻기"와 마지막으로 StackOverflowException을 인쇄하여 영원한 호출을 얻었습니다. 속성에 어떤 문제가 있습니까? 이것은 getter 및 setter를 ref 매개 변수로 변환하기위한 작은 작업이지만이 오류를 처리 할 수는 없습니다. enter image description here

답변

4

getter와 setter가 자신을 반환하거나 설정해야합니다. _ 온도 (백킹 필드)가 아니라 self.temperature (속성) - 셀프 참조로 인해 무한 루프가 발생했습니다.

+0

네가 맞다. 내 버그) – ArgorAvest