SORU
24 AĞUSTOS 2010, Salı


LİNQPad [uzantı] yöntemleri

Herkes LİNQPad uzatma yöntemleri ve tam listesi var mı, gibi

.Dump()

SubmitChanges()

Çok takdir!

CEVAP
25 AĞUSTOS 2010, ÇARŞAMBA


LİNQPad iki uzatma yöntemleri (LİNQPad tanımlar.Uzantıları, yani 12 ** Disassemble(). Dump() çıkış penceresi LİNQPad çıktı biçimlendirici kullanarak yazar ve bir başlık: belirtmek için aşırı yüklendi

typeof (int).Assembly.Dump ();
typeof (int).Assembly.Dump ("mscorlib");

Ayrıca en fazla özyineleme derinliği 5 seviyeleri: varsayılan geçersiz kılmak için belirtebilirsiniz

typeof (int).Assembly.Dump (1);              // Dump just one level deep
typeof (int).Assembly.Dump (7);              // Dump 7 levels deep
typeof (int).Assembly.Dump ("mscorlib", 7);  // Dump 7 levels deep with heading

() Ayrıştırmak IL, bir dize çıktı iade için herhangi bir yöntem demonte:

typeof (Uri).GetMethod ("GetHashCode").Disassemble().Dump();

O iki uzatma yöntemlerine ek olarak, LİNQPad bazı kullanışlı statik yöntem vardır.Açıklama. Bu tamamlama belgelenmiştir, ve şunları içerir:

  • Cmd- kabuk komutu veya harici bir program yürütür
  • CreateXhtmlWriter- LİNQPad Çöplüğü kullanan bir metin yazarı oluşturur() biçimlendirici
  • SqlOutputWriter- SQL çıkış penceresi yazar metin yazarı döndürür
  • GetMyQueries,GetSamples- nesneler kaydedilmiş sorguları / örnekleri (örneğin, bir arama Düzenle | Tüm Arama kullanarak yürütme) temsil eden bir koleksiyon döndürür
  • Vurgulayın- Terk ederken sarı anlatılacak bir nesne tamamladı
  • HorizontalRun- aynı satırdaki nesneler Dökümü sağlar

LİNQPad da HyperLinq sınıfı sağlar. Bu iki amacı vardır: ilk sıradan köprüler göstermek için:

new Hyperlinq ("www.linqpad.net").Dump();
new Hyperlinq ("www.linqpad.net", "Web site").Dump();
new Hyperlinq ("mailto:user@domain.com", "Email").Dump();

Util.HorizontalRun ile birleştirebilirsiniz:

Util.HorizontalRun (true,
  "Check out",
   new Hyperlinq ("http://stackoverflow.com", "this site"),
  "for answers to programming questions.").Dump();

Sonuç:

Programlama soruların cevapları için this site Check out.

HyperLinq ikinci amaç sorgular dinamik olarak oluşturmak için:

// Dynamically build simple expression:
new Hyperlinq (QueryLanguage.Expression, "123 * 234").Dump();

// Dynamically build query:
new Hyperlinq (QueryLanguage.Expression, @"from c in Customers
where c.Name.Length > 3
select c.Name", "Click to run!").Dump();

Ayrıca LİNQPad kendi uzantısı yöntemlerinizi yazabilirsiniz. 'Benim Sorguları ve sorgu adında 'uzatma'. Burada tanımlama yöntemleri/herhangi bir tür tüm sorgular erişilebilir:

void Main()
{
  "hello".Pascal().Dump();  
}

public static class MyExtensions
{
  public static string Pascal (this string s)
  {
    return char.ToLower (s[0])   s.Substring(1);
  }
}

4.46(.02) 37**:

  • DumpContainer (sınıf)
  • İsteğe bağlı (uzatma yöntemi)
  • Açıklama.Durumunu belirlemek (sınıf)

Ayrıca, Hyperlinq sınıfı şimdi size link tıklayın ne zaman çağrılacak Action bir temsilci, kodu tepki ve sadece harici web sayfalarına bağlantı için izin verir.

DumpContainer içeriğini değiştirmiş olabilir çıkış penceresine bir blok ekler bir sınıftır.

NOT!Uygun yerde .Dump() DumpContainer kendisi için hatırlıyorum.

Kullanmak için:

var dc = new DumpContainer();
dc.Content = "Test";
// further down in the code
dc.Content = "Another test";

OnDemand uzatma yöntemi bu değil çıkış içindekiler parametre çıkış penceresi, ama bunun yerine Ekle tıklanabilir bir bağlantı, o zaman tıklandığında olacak yerine bağlantısı olan .Dump()ed içindekiler parametre. Bu bazen ihtiyaç duyulan yüksek maliyetli veri yapıları için büyük ya da çok yer kaplıyor.

NOT!.Dump() uygun yerde OnDemand arama sonuçlarını unutmayın.

Kullanmak için:

Customers.OnDemand("Customers").Dump(); // description is optional

Util.ProgressBar çıkış penceresi içinde bir grafik durumunu belirlemek gösterebilir, kod hamle olarak değiştirilebilir bir sınıftır.

NOT!.Dump() Açıklama hatırlıyorum.Durumunu belirlemek uygun yerde nesne.

Kullanmak için:

var pb = new Util.ProgressBar("Analyzing data");
for (int index = 0; index <= 100; index  )
{
    pb.Percent = index;
    Thread.Sleep(100);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Creavite

    Creavite

    8 Mart 2009
  • Fullscreen

    Fullscreen

    23 Mart 2006
  • The Onion

    The Onion

    14 Mart 2006