System.NotImplementedException sınıfı
Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.
Özel NotImplementedException durum, belirli bir yöntem, alma erişimcisi veya küme erişimcisi bir türün üyesi olarak mevcut olduğunda ancak uygulanmadığında oluşturulur.
NotImplementedException başvuru eşitliğini destekleyen varsayılan Object.Equals uygulamayı kullanır. örneğinin başlangıç değerlerinin NotImplementedExceptionlistesi için oluşturuculara NotImplementedException bakın.
Özel durumu oluşturma
Üye hala geliştirme aşamasındayken ve yalnızca daha sonra üretim kodunda uygulanacaksa, kendi türlerinizdeki özelliklerde veya yöntemlerde özel NotImplementedException durum oluşturmayı seçebilirsiniz. Başka bir deyişle, bir NotImplementedException özel durum "hala geliştirme aşamasında" ile eş anlamlı olmalıdır.
Özel durumu işleme
Özel NotImplementedException durum, çağırmaya çalıştığınız yöntemin veya özelliğin hiçbir uygulaması olmadığını ve bu nedenle hiçbir işlev sağlamadığını gösterir. Sonuç olarak, bu hatayı bir try/catch
blokta işlememelisiniz. Bunun yerine, üye çağrısını kodunuzdan kaldırmanız gerekir. Bir kitaplığın üretim sürümünde uygulandığında üyeye çağrı ekleyebilirsiniz.
Bazı durumlarda, üretim öncesi kitaplıkta hala geliştirme aşamasında olan işlevselliği göstermek için bir NotImplementedException özel durum kullanılamayabilir. Ancak, bu yine de işlevselliğin kullanılamadığını gösterir ve üye çağrısını kodunuzdan kaldırmanız gerekir.
NotImplementedException ve diğer özel durum türleri
.NET ayrıca, NotSupportedExceptionPlatformNotSupportedExceptionbir türün belirli bir üyesi için hiçbir uygulamanın mevcut olmadığını gösteren iki özel durum türü daha içerir. Aşağıdaki koşullarda özel NotImplementedException durum yerine bunlardan birini oluşturmalısınız:
PlatformNotSupportedException Bazı platformlarda veya sürümlerde kullanılabilen ancak diğer platformlarda bulunmayan bir veya daha fazla üyeye sahip bir tür tasarladıysanız, işlevselliğin desteklenmediği platformlarda özel durum oluşturma.
NotSupportedException Bir arabirim üyesinin veya soyut bir temel sınıf yöntemine geçersiz kılmanın uygulanması mümkün değilse bir özel durum oluşturun.
Örneğin, Convert.ToInt32(DateTime) bir tarih ve saat ile 32 bit imzalı tamsayı NotSupportedException arasında anlamlı bir dönüştürme olmadığından yöntemi bir özel durum oluşturur. sınıfı arabirimini uyguladığından bu durumda yönteminin ConvertIConvertible mevcut olması gerekir.
Ayrıca soyut bir NotSupportedException temel sınıf uyguladıysanız ve türetilmiş sınıflar tarafından geçersiz kılınması gereken yeni bir üye eklediyseniz bir özel durum oluşturmalısınız. Bu durumda, üye soyut yapmak mevcut alt sınıfların yüklenememesine neden olur.