은 당신이 새로운 인스턴스 당신이 GetFoos 이상 열거 할 때마다 만들 수 있기 때문이다IEnumerable의 요소를 편집 할 수없는 이유는 무엇입니까?
[Test]
public void EnumerableTest()
{
var source = GetFoos();
source.First().One = "hello";
Assert.AreEqual(source.First().One, "hello");
//it fails
}
//I actually return this from a repository
public IEnumerable<Foo> GetFoos()
{
yield return new Foo() {One = "1", Two = "2", Three = true};
yield return new Foo() {One = "1", Two = "2", Three = true};
yield return new Foo() {One = "1", Two = "2", Three = true};
}
IsEqualTo()? 대신 Equals()를 사용해보십시오. – tgiphil
@tgiphil 죄송합니다. 내 연장 부분은 Assert.AreEqual이 – Omu