«extension-methods» 태그된 질문

확장 메서드는 Swift, Visual Basic.NET 및 C #과 같은 일부 언어의 언어 기능입니다. 확장 메서드를 사용하면 새 파생 형식을 만들거나 다시 컴파일하거나 원래 형식을 수정하지 않고도 기존 형식에 메서드를 "추가"할 수 있습니다.


18
람다와 구별 되는가?
그렇습니다. 나는 열거 할 수 있고 명확한 가치를 얻고 싶습니다. 를 사용하면 System.Linq물론이라는 확장 방법이 Distinct있습니다. 간단한 경우 다음과 같이 매개 변수없이 사용할 수 있습니다. var distinctValues = myStringList.Distinct(); 좋고 훌륭하지만 동등성을 지정 해야하는 열거 가능한 객체가있는 경우 사용 가능한 유일한 과부하는 다음과 같습니다. var distinctValues = myCustomerList.Distinct(someEqualityComparer); 항등 비교 …

8
.Any () vs .Count ()> 0 중 어떤 방법이 더 잘 수행됩니까?
에 System.Linq네임 스페이스, 우리는 지금 우리의 확장 할 수 는 IEnumerable이야 가지고 모든 ()를 하고 () 카운트 확장 방법 . 컬렉션에 하나 이상의 항목이 포함되어 있는지 확인 하려면 확장 방법이 모든 항목을 반복 해야하기 때문에 .Any()확장 방법 대신 확장 방법을 사용해야한다고 최근에 들었습니다 ..Count() > 0.Count() 둘째, 일부 컬렉션에는 또는 …

15
기존 정적 클래스에 확장 메소드를 추가 할 수 있습니까?
C #에서 확장 메서드를 좋아하지만 콘솔과 같은 정적 클래스에 확장 메서드를 추가하는 데 성공하지 못했습니다. 예를 들어 콘솔에 'WriteBlueLine'이라는 확장을 추가하고 싶다면 다음을 수행하십시오. Console.WriteBlueLine("This text is blue"); 콘솔을 'this'매개 변수로 사용하여 로컬 공개 정적 메소드를 추가하여 시도했지만 주사위는 없습니다! public static class Helpers { public static void WriteBlueLine(this Console …

30
C #에서 가장 좋아하는 확장 방법은 무엇입니까? (codeplex.com/extensionoverflow)
잠김 . 이 질문과 주제는 주제가 다르지만 역사적으로 중요하기 때문에이 질문과 답변은 잠겨 있습니다. 현재 새로운 답변이나 상호 작용을받지 않습니다. 우수하고 선호하는 확장 방법 을 게시하는 답변 목록을 만들어 봅시다 . 요구 사항은 전체 코드를 게시하고 사용 방법에 대한 예와 설명을 게시해야합니다. 이 주제에 대한 높은 관심을 바탕으로 Codeplex에 extensionoverflow라는 …



6
LINQ를 사용하여 한 줄의 코드에서 string []을 int []로 변환
문자열 형식의 정수 배열이 있습니다. var arr = new string[] { "1", "2", "3", "4" }; 더 나아가려면 '실제'정수 배열이 필요합니다. void Foo(int[] arr) { .. } 나는 int를 캐스팅하려고 시도했지만 물론 실패했습니다. Foo(arr.Cast<int>.ToArray()); 다음에 할 수 있습니다 : var list = new List<int>(arr.Length); arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() …

9
확장 메소드는 제네릭이 아닌 정적 클래스에서 정의해야합니다.
오류가 발생했습니다. 확장 메소드는 제네릭이 아닌 정적 클래스에서 정의해야합니다. 라인에서 : public class LinqHelper 다음은 Mark Gavells 코드를 기반으로하는 도우미 클래스입니다. 금요일에 떠났을 때 잘 작동하고 있다고 확신 하면서이 오류의 의미에 대해 혼란 스럽습니다! using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Linq.Expressions; using System.Reflection; /// <summary> /// Helper …

4
연결 LINQ 확장 메서드 호출에서 'let'키워드에 해당하는 코드
C # 컴파일러 쿼리 이해 기능을 사용하여 다음과 같은 코드를 작성할 수 있습니다. var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength > 3 orderby nameLength select animalName; 위의 쿼리 표현식에서 let키워드를 사용하면에 대한 …


6
C # 확장 메서드를 사용하여 연산자 오버로드
확장 메서드를 사용하여 C # StringBuilder클래스에 연산자 오버로드를 추가하려고합니다 . 특히, 주어진 StringBuilder sb, 내가 좋아하는 것 sb += "text"에 해당되기 위해 sb.Append("text"). 다음에 대한 확장 메소드를 작성하는 구문은 다음과 같습니다 StringBuilder. public static class sbExtensions { public static StringBuilder blah(this StringBuilder sb) { return sb; } } blah확장 방법을에 …

7
Moq를 이용한 모의 확장 방법
기존 인터페이스가 있습니다 ... public interface ISomeInterface { void SomeMethod(); } 그리고 mixin을 사용 하여이 intreface를 확장했습니다 ... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } 테스트하고 싶은 클래스가 있습니다 ... public class Caller { private readonly ISomeInterface someInterface; public Caller(ISomeInterface …

8
Razor HtmlHelper Extensions (또는 뷰의 다른 네임 스페이스)를 찾을 수 없음
PR이나 베타에서 이런 일이 발생하면 Dunno이지만 on HtmlHelper에서 확장 메소드를 만들면 Razor 기반 페이지에서 인식되지 않습니다. namespace SomeNamespace.Extensions { public static class HtmlExtensions { public static string Foo(this HtmlHelper html) { return "Foo"; } } } 나는 다음 <Namespaces>섹션에 추가했습니다 Web.config. <pages> <namespaces> <add namespace="System.Web.Mvc" /> <!-- snip --> <add …

4
코 틀린의 자원 활용
tryKotlin에서 Java 자원 코드 와 동등한 코드 를 작성하려고 시도했지만 작동하지 않았습니다. 나는 다음과 같은 다른 변형을 시도했다. try (writer = OutputStreamWriter(r.getOutputStream())) { // ... } 그러나 둘 다 작동하지 않습니다. 누구 대신 사용해야하는지 알고 있습니까? 분명히 Kotlin 문법 에는 그러한 구문에 대한 정의 가 없지만 어쩌면 뭔가 빠졌습니다. try …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.