Birlikte Çalışabilirlik Uyarıları
Birlikte çalışabilirlik uyarıları com istemcileri ile etkileşimini destekler.
Bu Bölümde
Kural |
Description |
---|---|
Ortak veya korumalı yöntem System.Runtime.InteropServices.DllImportAttribute özniteliği kullanılarak işaretlenir.Yönetilmeyen kitaplığı bulunamadı ya da yöntemi için bir işlev Kitaplığı'nda eşleştirilemedi. |
|
Ortak türü bir ortak veya korumalı yöntem (Declare anahtar Visual Basic tarafından da uygulanan) System.Runtime.InteropServices.DllImportAttribute özniteliğine sahip.Bu tür yöntemler eline değil. |
|
CA1402: COM görünebilir arabirimler içinde aşırı yüklemelerden kaçının |
com istemcileri için yöntemler sunulur, yalnızca ilk yöntemi aşırı adını korur.Sonraki aşırı bir alt çizgi karakteri (_) ve aşırı bildirimi sırayla karşılık gelen tamsayı adına ekleyerek benzersiz olarak adlandırılır. |
CA1403: Otomatik yerleşim türleri COM görünebilir olmamalıdır |
com görünür bir değer türü, LayoutKind.Auto için System.Runtime.InteropServices.StructLayoutAttribute özniteliği kullanılarak işaretlenir.Sürümleri arasında bu tür düzenini değiştirebilirsiniz .NET Framework, hangi belirli bir düzen beklediğiniz com istemcileri keser. |
Marshal.GetLastWin32Error yöntemi veya eşdeğer bir çağrı yapılır Win32 GetLastError işlevini ve hemen önceki çağrı değil bir platform yöntemini harekete geçirmek. |
|
CA1405: COM görünebilir tür taban türler COM görünebilir olmalıdır |
com görünür bir tür com görünmeyen bir türden türer. |
CA1406: Visual Basic 6 istemcileri için Int64 bağımsız değişkenlerinden kaçının |
Visual Basic 6 com istemcileri, 64-bit tamsayı erişemiyor. |
CA1407: COM görünebilir türler içinde statik üyelerden kaçının |
com statik yöntemleri desteklemez. |
Çift arabirim kullanan türleri belirli arabirim düzenine bağlamak istemcileri etkinleştirir.Gelecekteki bir sürümüne türü düzeni içinde herhangi bir değişiklik veya temel türlerinden herhangi bir arabirime bağlanmak com istemcileri çalışmamasına neden olur.ClassInterfaceAttribute öznitelik belirtilmezse, varsayılan olarak, yalnızca dağıtma arabirimi kullanılır. |
|
Özellikle com görünür olarak işaretlenmiş bir başvuru türü parametreli bir public kurucu içerir ancak genel varsayılan (parametresiz) bir oluşturucuya sahip değil.Bir tür genel varsayılan bir oluşturucuya olmadan com istemcileri tarafından creatable değil. |
|
Bir tür kullanılarak işaretlenmiş bir yöntemi bildirir ComRegisterFunctionAttribute özniteliği ancak kullanılarak işaretlenmiş bir yöntemi bildirmiyor ComUnregisterFunctionAttribute özniteliği, ya da tam tersi. |
|
System.Runtime.InteropServices.ComRegisterFunctionAttribute özniteliği veya System.Runtime.InteropServices.ComUnregisterFunctionAttribute özniteliğini kullanarak işaretlenmiş bir yöntem dışarıdan görülebilir. |
|
CA1412: ComSource Arabirimlerini IDispatch olarak işaretleyin |
System.Runtime.InteropServices.ComSourceInterfacesAttribute özniteliğini kullanarak bir tür işaretlenir ve belirtilen arabirimlerden birini ComInterfaceType.InterfaceIsIDispatch için System.Runtime.InteropServices.InterfaceTypeAttribute özniteliği kullanılarak işaretlenmemiş. |
CA1413: COM görünebilir değer türleri içinde genel olmayan alanlardan kaçının |
com istemcileri için com görünür değer türlerinin özel örnek alanlar görülebilir.Olmayan çıkarılabilir veya olan bilgi alanlarının içeriğini gözden geçirin istenmeyen tasarım veya güvenlik etkileri. |
CA1414: Boolean P/Invoke bağımsız değişkenlerini MarshalAs ile işaretleyin |
Boolean veri türüne yönetilmeyen kod içinde birden fazla temsili vardır. |
Yöntem bildirimleri hedefleyen platform çağırma için bu kural arar Win32 bir ÇAKIŞAN işaretçi işlevleri parametre yapısı ve ilgili yönetilen parametre işaretçisi değil bir NativeOverlapped yapısı. |