SORU
29 Mart 2012, PERŞEMBE


Neden nesne türü dinamik bir null başvuru özel durumu atma nesnesi için döküm mı?

Aşağıdaki işlevi var:

public static T TryGetArrayValue<T>(object[] array_, int index_)
{
    ... //some checking goes up here not relevant to question

    dynamic boxed = array_[index_];
    return (T)boxed;
}

Aşağıdaki şekilde söyleyince

object a = new object();
object v = TUtils.TryGetArrayValue<object>(new object[] { a }, 0);

(T)boxed null başvuru özel durumu atar.

Başka tip I diğer "nesne", gayet iyi çalışıyor. daha koy
Ne güzel bir istisna atma neden herhangi bir fikir?

Edit: Dinamik kullanıyorum nedeni, örneğin: tür dönüştürme özel durumu önlemek için

double a = 123;
int v = TUtils.TryGetArrayValue<int>(new object[] { a }, 0);

CEVAP
29 Mart 2012, PERŞEMBE


Bu bir hata gibi görünüyor söyleyen diğer answerers katılıyorum. Özellikle detaylı bir soruşturma değil ama bir hata olması C# çalışma zamanı bağlama katmanı görünür.

Ben hata için özür dilerim. # 5 C test ekibine rapor edeceğim ve eğer zaten C# 5 rapor sabit olup olmadığını göreceğiz. (Zaten biliyorduk ve her şey çözüldü çok düşüktür bu yüzden son beta sürümü çoğalır,.) Değilse, bir düzeltme son sürüm haline gelmesi mümkün değildir. Bu durumda Olası hizmet veren bir yayın için kabul edeceğiz.

Bizim bu konuda bilgilendirdiğin için teşekkürler. Eğer entering a Connect issue gibi takip etmeyi düşünüyorsanız, bunu yapmak için çekinmeyin ve bu StackOverflow soru için bir link eklemeyi unutmayın. Eğer doğru değilse, hiçbir sorun yok; test ekibi bu konuda her iki şekilde de bilecek.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • Submissions101

    Submissions1

    23 ŞUBAT 2007
  • The Onion

    The Onion

    14 Mart 2006