제목이 맞는지는 모르지만 필자가 작성한 앱에는 (확장) 메소드가 많이 있습니다. 간단한 예 :자동 루핑 구현
객체 :
Matter (Burn, Explode, Destroy, Freeze, Heat, Cool)
Atom (Attach, Detach)
<many more>
와 같은 사용자 지정 컬렉션 : 이와 같은
ImmutableList<T>
및 방법 :
당신이 볼 수 있듯이public static class Burner
{
public static Matter Burn (this Matter matter)
{
// matter is burning ...
}
}
var matters = new ImmutableList<Matter>();
matters.Burn();
, 굽기 작업에 단일 개체이지만 여전히 ImmutableList에 나타납니다. 그렇게하면 필자는 평행선을 병렬로 관리하려고한다.
가장 효과적인 방법, 가장 깨끗한 방법, 가장 유지하기 쉬운 방법 또는 결합하는 방법은 무엇입니까?
처음에는 각 클래스 (버너 등) 내에서 ImmutableList를 사용하는 다른 확장 메서드를 정의하지 않으려합니다. 수백 개가 수백 개이기 때문에 동일하게 보일 것입니다. 그러나 나는 아이디어에 열중하고 있습니다.
또한 모든 코드는 내 것이므로 확장 메소드가 아닌 코드의 모든 부분에서 아무 것도 변경하거나 추가 할 수 있습니다. ForEach
의 자신의 구현
matters.ForEach(Burner.Burn);
잘못 무엇
고마워요.하지만 ForEach는 병렬이 아니므로 앱의 특정 요구 사항에 맞춰 자체 병렬 처리를 관리하고 싶습니다. 또한 가능한 경우 내 게시물의 구문을 사용합니다. –
어쩌면 내가 당신의 문제를 정확하게 이해하지 못할 수도 있지만, 당신 자신의'ForEach' 메소드를 구현하지 못하게하는 것은 무엇일까? – dtb
나는 할 수 있었다. 그러나 나는 다음과 같은 구문을 갖고 싶다. matter.Burn(); 그렇지 않으면 코드에 ForEach 호출이 많이있을 것입니다. 나쁜 것은 아니지만 "직접"호출, 따라서 확장 메서드를 원하는 것은 매우 분명합니다. –