草庐IT

ReadOnly

全部标签

c# - 我在 Visual Studio 中的项目是只读的。我做了什么?

我一定是做错了什么。我在VisualStudio2008中有一个C#项目。突然间我看到我的类被锁定,当我将类名悬停在顶部选项卡上时,我看到类名是:C:\Myprojects\Oder.cs[ReadOnly]!你以前有过这样奇怪的事情吗? 最佳答案 在我的案例中,这是一个与ReSharper9.0/9.1相关的问题。清除ReSharper缓存后,我能够再次在我的解决方案中编辑文件。可以在此处清除ReSharper缓存:ReSharper->Options->Environment->General然后单击:ClearCaches并重

c# - 我在 Visual Studio 中的项目是只读的。我做了什么?

我一定是做错了什么。我在VisualStudio2008中有一个C#项目。突然间我看到我的类被锁定,当我将类名悬停在顶部选项卡上时,我看到类名是:C:\Myprojects\Oder.cs[ReadOnly]!你以前有过这样奇怪的事情吗? 最佳答案 在我的案例中,这是一个与ReSharper9.0/9.1相关的问题。清除ReSharper缓存后,我能够再次在我的解决方案中编辑文件。可以在此处清除ReSharper缓存:ReSharper->Options->Environment->General然后单击:ClearCaches并重

c# - 如何解决 IReadOnlyDictionary 缺乏协方差的问题?

我正在尝试公开一个只读字典,该字典包含具有只读接口(interface)的对象。在内部,字典是可写的,其中的对象也是可写的(见下面的示例代码)。我的问题是IReadOnlyDictionary不支持协变转换,原因在问题here中列出。.这意味着我不能只将我的内部字典公开为只读字典。所以我的问题是,是否有一种有效的方法可以将我的内部字典转换为IReadOnlyDictionary,或者其他一些方法来处理这个问题?我能想到的选项是:持有两个内部词典并保持同步。在访问该属性时创建一个新字典并转换其中的所有对象。在内部使用时将IReadOnly转换回NotReadOnly。1看起来很痛苦,2看

c# - 如何解决 IReadOnlyDictionary 缺乏协方差的问题?

我正在尝试公开一个只读字典,该字典包含具有只读接口(interface)的对象。在内部,字典是可写的,其中的对象也是可写的(见下面的示例代码)。我的问题是IReadOnlyDictionary不支持协变转换,原因在问题here中列出。.这意味着我不能只将我的内部字典公开为只读字典。所以我的问题是,是否有一种有效的方法可以将我的内部字典转换为IReadOnlyDictionary,或者其他一些方法来处理这个问题?我能想到的选项是:持有两个内部词典并保持同步。在访问该属性时创建一个新字典并转换其中的所有对象。在内部使用时将IReadOnly转换回NotReadOnly。1看起来很痛苦,2看

c# - 为什么 resharper 建议在未更改的字段中使用 readonly?

为了澄清这个问题,我想补充一点,我不是在问为什么我应该选择readonly而不是const或者readonly比const有什么好处。我在问为什么仅仅因为它没有改变(目前)就把它设为只读。例如:如果我编写以下类:publicclassMyClass{publicint_i=5;//Codethatdoesn'tchangethevalueofi:...}Resharper将指示它可以设为只读。谢谢 最佳答案 当它检测到您除了在初始化时没有分配给变量时,它会假定您不希望变量发生变化。使变量只读(或const)将阻止您将来分配给该变量。

c# - 为什么 resharper 建议在未更改的字段中使用 readonly?

为了澄清这个问题,我想补充一点,我不是在问为什么我应该选择readonly而不是const或者readonly比const有什么好处。我在问为什么仅仅因为它没有改变(目前)就把它设为只读。例如:如果我编写以下类:publicclassMyClass{publicint_i=5;//Codethatdoesn'tchangethevalueofi:...}Resharper将指示它可以设为只读。谢谢 最佳答案 当它检测到您除了在初始化时没有分配给变量时,它会假定您不希望变量发生变化。使变量只读(或const)将阻止您将来分配给该变量。

c# - 为什么这个字段被声明为私有(private)的并且也是只读的?

在下面的代码中:publicclassMovieRepository:IMovieRepository{privatereadonlyIHtmlDownloader_downloader;publicMovieRepository(IHtmlDownloaderdownloader){_downloader=downloader;}publicMovieFindMovieById(stringid){varidUri=...buildURI...;varhtml=_downloader.DownloadHtml(idUri);return...parseIDHTML...;}publi

c# - 为什么这个字段被声明为私有(private)的并且也是只读的?

在下面的代码中:publicclassMovieRepository:IMovieRepository{privatereadonlyIHtmlDownloader_downloader;publicMovieRepository(IHtmlDownloaderdownloader){_downloader=downloader;}publicMovieFindMovieById(stringid){varidUri=...buildURI...;varhtml=_downloader.DownloadHtml(idUri);return...parseIDHTML...;}publi

c# - 只读静态字段如何为空?

下面是我的一节课的摘录:[ThreadStatic]readonlystaticprivateAccountManager_instance=newAccountManager();privateAccountManager(){}staticpublicAccountManagerInstance{get{return_instance;}}如您所见,它是一个单例线程-即该实例标有ThreadStatic属性。该实例也被实例化为静态构造的一部分。既然如此,当我尝试使用Instance属性时,怎么可能在我的ASP.NETMVC应用程序中收到NullReferenceException?

c# - 只读静态字段如何为空?

下面是我的一节课的摘录:[ThreadStatic]readonlystaticprivateAccountManager_instance=newAccountManager();privateAccountManager(){}staticpublicAccountManagerInstance{get{return_instance;}}如您所见,它是一个单例线程-即该实例标有ThreadStatic属性。该实例也被实例化为静态构造的一部分。既然如此,当我尝试使用Instance属性时,怎么可能在我的ASP.NETMVC应用程序中收到NullReferenceException?