«extension-methods» 태그된 질문

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

16
문자열을 널 입력 가능 유형으로 변환 (int, double 등)
데이터 변환을 시도하고 있습니다. 불행히도, 대부분의 데이터는 int 또는 double이어야하는 문자열에 있습니다 ... 내가 가진 것은 다음과 같습니다. double? amount = Convert.ToDouble(strAmount); 이 접근 방식의 문제점은 strAmount가 비어 있으면 비어 있으면 null이되기를 원하므로 데이터베이스에 추가하면 열이 null입니다. 그래서 나는 이것을 작성했다 : double? amount = null; if(strAmount.Trim().Length>0) { amount = …

13
C #에서 문자열을 "곱셈"할 수 있습니까?
예를 들어 문자열이 있다고 가정합니다. string snip = "</li></ul>"; 정수 값에 따라 기본적으로 여러 번 쓰고 싶습니다. string snip = "</li></ul>"; int multiplier = 2; // TODO: magic code to do this // snip * multiplier = "</li></ul></li></ul>"; 편집 : 나는 이것을 구현하기 위해 쉽게 내 자신의 함수를 작성할 수 …

2
Go에서 기존 유형에 새 메소드를 추가하는 방법은 무엇입니까?
gorilla/mux라우팅 및 라우터 유형 에 편리한 유틸리티 방법을 추가하고 싶습니다 . package util import( "net/http" "github.com/0xor1/gorillaseed/src/server/lib/mux" ) func (r *mux.Route) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } func (r *mux.Router) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } 하지만 컴파일러가 알려줍니다 로컬이 아닌 유형 mux에서 …

1
인터페이스에 확장 메서드를 적용 할 수 있습니까?
인터페이스에 확장 방법을 적용 할 수 있습니까? (C # 질문) 예를 들어 다음을 달성하는 것입니다. ITopology 인터페이스 생성 이 인터페이스에 대한 확장 메서드를 만듭니다 (예 : public static int CountNodes (this ITopology topologyIf)) 그런 다음 ITopology를 구현하는 클래스 (예 : MyGraph)를 만들 때 자동으로 Count Nodes 확장을 갖게됩니다. 이렇게하면 인터페이스를 …

8
컬렉션에 AddRange
오늘 동료가 컬렉션에 범위를 추가하는 방법을 물었습니다. 그는에서 상속하는 클래스가 있습니다 Collection<T>. 이미 일부 항목을 포함하는 해당 유형의 가져 오기 전용 속성이 있습니다. 그는 다른 컬렉션의 항목을 속성 컬렉션에 추가하려고합니다. C # 3 친화적 인 방식으로 어떻게 그렇게 할 수 있습니까? (Union 수행 및 재 할당과 같은 솔루션을 방지하는 get-only …

9
C # 확장 메서드로 클래스를 확장하려면 어떻게해야합니까?
확장 메서드를 클래스에 적용 할 수 있습니까? 예를 들어 다음과 같이 호출 할 수있는 Tomorrow () 메서드를 포함하도록 DateTime을 확장합니다. DateTime.Tomorrow(); 내가 사용할 수 있다는 걸 알아 static DateTime Tomorrow(this Datetime value) { //... } 또는 public static MyClass { public static Tomorrow() { //... } } 비슷한 결과를 얻을 …

4
C #에서 확장 메서드로 클래스 메서드를 재정의하는 방법이 있습니까?
확장 메서드로 클래스의 메서드를 재정의하려는 경우가있었습니다. C #에서 할 수있는 방법이 있습니까? 예를 들면 : public static class StringExtension { public static int GetHashCode(this string inStr) { return MyHash(inStr); } } 이 작업을 수행하고 싶었던 경우는 문자열의 해시를 데이터베이스에 저장하고 문자열 클래스의 해시 (예 : 사전 등)를 사용하는 모든 클래스에서 …

5
Active Support 핵심 확장을 사용하는 방법
Active Support 3.0.3이 설치되어 있고 Rails 3.0.3과 Ruby 1.8.7이 있습니다. 사용하려고 1.week.ago하면 NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 다른 핵심 확장은 작동하는 것 같습니다. 친구의 컴퓨터 (동일한 설치 사양과 레거시 버전이 그의 컴퓨터에 있음)에서 동일한 결과를 시도했습니다. 무엇을 제공합니까? 이 모든 것이 IRB에 있습니다.

2
"접기"LINQ 확장 방법은 어디에 있습니까?
MSDN의 Linq 샘플 에서 사용하려는 Fold ()라는 깔끔한 메서드를 발견했습니다 . 그들의 예 : double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); 불행히도 예제 나 내 코드에서 컴파일 할 수 없으며 MSDN에서이 메서드를 언급하는 다른 곳 (예 : Enumerable …


5
String과 같은 C # 기본 제공 유형을 확장하는 방법은 무엇입니까?
인사말 모든 사람이 ... 내가 필요 . 그러나 문자열의 끝이나 시작 부분뿐만 아니라 문자열 자체에서 반복되는 모든 공백을 제거하고 싶습니다. 다음과 같은 방법으로 할 수 있습니다.TrimString public static string ConvertWhitespacesToSingleSpaces(string value) { value = Regex.Replace(value, @"\s+", " "); } 내가 여기서 얻은 것 . 하지만이 코드 부분이 String.Trim()자체적 으로 호출되기를 …

6
Moq를 사용하여 확장 방법을 모의하려면 어떻게해야합니까?
확장 메서드의 결과에 따라 달라지는 테스트를 작성 중이지만 해당 확장 메서드의 향후 실패로 인해이 테스트가 중단되는 것을 원하지 않습니다. 그 결과를 조롱하는 것이 당연한 선택으로 보였지만 Moq는 정적 메서드 (확장 메서드에 대한 요구 사항) 를 재정의하는 방법을 제공하지 않는 것 같습니다 . Moq.Protected 및 Moq.Stub에도 비슷한 아이디어가 있지만이 시나리오에 대해서는 …


30
확장 방법의 장점은 무엇입니까? [닫은]
현재이 질문은 Q & A 형식에 적합하지 않습니다. 사실, 참고 문헌 또는 전문 지식이 답변을 뒷받침 할 것으로 기대하지만이 질문은 토론, 논쟁, 여론 조사 또는 확장 된 토론을 유도 할 가능성이 높습니다. 이 질문이 개선되고 다시 열릴 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으세요. 휴일 칠년 전에 …

8
Swift 확장 예제
원래 이렇게 만드는 법을 알고 싶었어요 UIColor.myCustomGreen 나만의 색상을 정의하고 앱 전체에서 사용할 수 있도록했습니다. 나는 이전에 확장 기능을 공부했고 아마 내 문제를 해결하는 데 사용할 수 있다고 생각했지만 확장 기능을 설정하는 방법을 정확히 기억할 수 없었습니다. 이 글을 쓰는 시점에서 Google에서 "Swift 확장"을 검색하면 문서 , 몇 가지 긴 …

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