«extension-methods» etiketlenmiş sorular

Bir uzantı yöntemi, Swift, Visual Basic.NET ve C # gibi bazı dillerin dil özelliğidir. Uzantı yöntemleri, yeni bir türetilmiş tür oluşturmadan, yeniden derlemeden veya orijinal türü başka bir şekilde değiştirmeden mevcut türlere yöntemler "eklemenize" olanak tanır.

16
Dizeyi boş karakter türüne dönüştürme (int, double vb.)
Bazı veri dönüşümleri yapmaya çalışıyorum. Ne yazık ki, verilerin çoğu int veya double, vb olması gereken dizelerdedir. Yani ne var gibi bir şey: double? amount = Convert.ToDouble(strAmount); Bu yaklaşım ile ilgili sorun strAmount boş ise, eğer boşsa null değerinde olmasını istiyorum, bu yüzden veritabanına eklediğimde sütun null olacaktır. Bu yüzden …

13
Bir dizeyi “çarpabilir miyim” (C # ile)?
Diyelim ki bir dizem var, örneğin, string snip = "</li></ul>"; Temelde bazı tamsayı değerine bağlı olarak, birden çok kez yazmak istiyorum. string snip = "</li></ul>"; int multiplier = 2; // TODO: magic code to do this // snip * multiplier = "</li></ul></li></ul>"; EDIT: Bunu uygulamak için kendi işlevimi kolayca yazabilirim …

2
Go'da var olan bir türe yeni yöntemler nasıl eklenir?
gorilla/muxRota ve Yönlendirici türlerine bir kolaylık kullanım yöntemi eklemek istiyorum : 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) } ama derleyici beni bilgilendiriyor Yerel olmayan tür …

1
Arayüzlere genişletme yöntemleri uygulanabilir mi?
Bir arayüze bir genişletme yöntemi uygulamak mümkün müdür? (C # sorusu) Örneğin, aşağıdakileri başarmak için: bir ITopology arayüzü oluşturun bu arayüz için bir uzantı yöntemi oluşturun (ör. public static int CountNodes (bu ITopology topologyIf)) daha sonra ITopology'yi uygulayan bir sınıf (örn. MyGraph) oluştururken, otomatik olarak Düğümleri Say uzantısına sahip olur. …

8
Bir Koleksiyona Aralık Ekle
Bir iş arkadaşım bugün bana bir koleksiyona nasıl aralık ekleyebileceğimi sordu. Miras alan bir sınıfı var Collection<T>. Zaten bazı öğeleri içeren bu türden bir get-only özelliği vardır. Mülk koleksiyonuna başka bir koleksiyondaki öğeleri eklemek istiyor. Bunu C # 3 dostu bir şekilde nasıl yapabilir? (Union yapma ve yeniden atama gibi …

4
C # 'da bir uzantı yöntemiyle bir sınıf yöntemini geçersiz kılmanın herhangi bir yolu var mı?
Bir sınıftaki bir yöntemi bir uzantı yöntemiyle geçersiz kılmak istediğim durumlar olmuştur. Bunu C # ile yapmanın bir yolu var mı? Örneğin: public static class StringExtension { public static int GetHashCode(this string inStr) { return MyHash(inStr); } } Bunu yapmak istediğim bir durum, bir dizenin karmasını bir veritabanına depolayabilmek ve …

9
Bir sınıfı c # uzantı yöntemleriyle nasıl genişletebilirim?
Uzatma yöntemleri sınıfa uygulanabilir mi? Örneğin, DateTime öğesini aşağıdaki gibi çağrılabilen bir Tomorrow () yöntemini içerecek şekilde genişletin: DateTime.Tomorrow(); Kullanabileceğimi biliyorum static DateTime Tomorrow(this Datetime value) { //... } Veya public static MyClass { public static Tomorrow() { //... } } benzer bir sonuç için, ancak DateTime.Tomorrow'ı çağırabilmek için DateTime'ı …


5
Active Support çekirdek uzantıları nasıl kullanılır
Active Support 3.0.3 kurulu ve Ruby 1.8.7 ile Rails 3.0.3 kullanıyorum. Kullanmaya çalıştığımda 1.week.agoalırım NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 Diğer çekirdek uzantılar işe yarıyor gibi görünüyor. Bir arkadaşımın bilgisayarında denedim (aynı yükleme özellikleri ve eski sürümler onun üzerinde) aynı sonuçlarla. Ne oluyor? Bunların hepsi IRB'de.

2
LINQ Uzatma Yöntemi "Katla" nerede?
Ben bulundu MSDN'ın Linq örneklerinde () kullanmak istediğim o Katlama denilen düzgün bir yöntem. Örnekleri: double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); Ne yazık ki, bunu kendi örneğimde veya kendi kodumda derleyemiyorum ve MSDN'de bu yöntemden bahseden başka …

5
String gibi C # yerleşik türleri nasıl genişletilir?
Herkese selamlar ... Trima ihtiyacım var String. Ancak String'in içinde tekrarlanan tüm boşlukları kaldırmak istiyorum, yalnızca sonunda veya başlangıcında değil. Bunu şöyle bir yöntemle yapabilirim: public static string ConvertWhitespacesToSingleSpaces(string value) { value = Regex.Replace(value, @"\s+", " "); } Buradan aldım . Ama bu kod parçasının String.Trim()kendi içinde çağrılmasını istiyorum , …


30
Uzatma Yöntemlerinin Hangi Avantajlarını buldunuz? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Cevapların gerçekler, referanslar veya uzmanlıkla desteklenmesini bekliyoruz, ancak bu soru büyük olasılıkla münazara, münakaşalar, anketler veya uzun tartışmalar gerektirecektir. Bu sorunun iyileştirilebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, rehberlik için yardım merkezini ziyaret edin . 8 yıl önce kapalı . Bir …

8
Swift uzantısı örneği
Başlangıçta böyle bir şeyi nasıl yapacağımı bilmek istiyordum UIColor.myCustomGreen böylece kendi renklerimi tanımlayabilir ve bunları uygulamamda kullanabilirim. Daha önce uzantılar üzerinde çalışmıştım ve muhtemelen onları problemimi çözmek için kullanabileceğimi düşündüm, ancak uzantıları nasıl kuracağımı tam olarak hatırlayamadım. "Swift uzantısı" için bu yazının yazıldığı sırada Google'da arama yapmak, dokümantasyon , birkaç …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.