我的工作是有它的一些方法如下屬性代碼:禁用CLS遵守C#檢查
[CLSCompliantAttribute(false)]
它是如何,當我爲的是建立的代碼,我看到合規正在執行檢查,並且當我將其註釋掉時,似乎沒有執行合規性檢查?
我預期相反的行爲......
我的工作是有它的一些方法如下屬性代碼:禁用CLS遵守C#檢查
[CLSCompliantAttribute(false)]
它是如何,當我爲的是建立的代碼,我看到合規正在執行檢查,並且當我將其註釋掉時,似乎沒有執行合規性檢查?
我預期相反的行爲......
添加[CLSCompliant(false)]
馬克你將它添加到爲不符合的成員。
如果您將該成員標記爲不合規,編譯器將不會警告您是否不合規。 (因爲您已經表示它不符合)。但是,如果成員標記爲符合(顯式或間接來自程序集級屬性),但實際上它不符合(例如,它需要uint
),編譯器會發出警告(因爲該屬性現在躺在成員身上)。
因此,如果我得到警告 - 是否意味着我的代碼中有更高範圍的屬性:[CLSCompliant(true)]? – user429400 2010-11-01 17:33:23
@user:哪個警告? – SLaks 2010-11-01 17:35:33
您可能在裝配層面有它。在Properties/AssemblyInfo.cs中查找'[assembly:CLSCompliant(true)]' – 2010-11-01 17:36:00
例如,您可以將它添加到AssemblyInfo.cs中,並對所有程序集進行分組:*。 Like:
using System;
using System.Reflection;
using System.Runtime.InteropServices;
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: CLSCompliant(false)]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d29c53b6-88e4-4b33-bb86-f39b4c733542")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
你是什麼意思? – SLaks 2010-11-01 17:31:21
你能發佈你的警告信息嗎? – max 2010-11-01 17:36:07