问题标签 [obsolete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
integer - EDSAC - 17 位和 35 位整数
我正在尝试为EDSAC编写一个程序,并且一直在理解短整数和长整数的东西——有时我输入一些东西得到一个零,而在其他时候我得到一个。
因此,例如:
如果我输入P0F
,则存储 0。
如果我输入P0D
,则存储 1。
如果我输入P1F
,则存储 2
如果我输入P2D
,则存储 3。
F
表示使用 17 位整数,D
表示全长 35 位整数。
有人可以解释为什么 P0F 和 P0D 没有相同的整数值,只是位长不同吗?
c# - CodeDomProvider.CreateCompiler() 已过时
如何编写此代码以消除此警告:
System.CodeDom.Compiler.CodeDomProvider.CreateCompiler()' is obsolete: '"调用者不应使用 ICodeCompiler 接口,而应直接使用 CodeDomProvider 类上的方法。从 CodeDomProvider 继承的那些仍必须实现此接口,并应排除此警告或废弃此方法。**
.net - 使用 [Obsolete] 属性来指示开发人员不要使用 API 的某些部分是一种好习惯吗?
最近我一直在写一些可序列化的对象,它也处理特定的逻辑并具有特定的生命周期。为了使其正常工作,必须使用适当的构造函数对其进行实例化,该构造函数需要强制参数。但是,出于序列化目的,我还必须添加一个公共默认构造函数。
该对象将由我们的 API 公开可用,并且第 3 方开发人员应该能够实例化和使用它。尽管会有适当的文档说明如何正确操作该对象,但不能保证有人会尝试使用不正确的构造函数——然后遇到麻烦。
我正在寻找一种巧妙的方法来在第 3 方开发人员编写他们的代码时应用一些指导。我想到了这个Obsolete
属性——我可以用适当的注释来注释序列化构造函数作为消息。然后该消息将出现在输出警告中,并将开发人员引导至正确的代码行。此外,Visual Studio 和使用的任何代码检查插件都会适当地突出显示构造函数的用法。
这种方法困扰我的是Obsolete
属性的目的完全不同。它的语义含义是被装饰的项目已被弃用,并且可能会在以后的版本中被删除。在序列化构造函数场景中这是错误的,并且该属性的用法和含义之间会存在差异。更不用说某些开发部门可能启用的“将警告视为错误”选项......
所以,问题是 - 对于这种属性的使用,这是一种可接受的做法吗?是否有任何其他合法和通用的方式来达到相同的效果(通用我的意思是不依赖第 3 方代码检查插件等 - 我不控制谁使用代码以及他们的设置是什么)?
关于下面答案中的评论(这对我仍然有用),我必须澄清我在可继承类上使用受保护的默认构造函数。构造函数用于支持 XML 序列化,但不应用于在业务逻辑中初始化类。继承类应该调用其他一些基本构造函数,编写继承类的开发人员需要知道这一点。尽管如此,如果需要,从该代码派生的开发人员还必须能够为其继承的类启用 XML 序列化。
obsolete - 过时和废弃代码之间的区别
术语“过时代码”和“废弃代码”有什么区别?如果存在差异,哪些方法可以减少?
.net - 如果在最新的 .Net Framework 中使用,Microsoft 是否提供对过时方法的支持
对 Dot Net Framework 1.1 的扩展支持将于 2013 年 9 月结束,它强制每个人将框架升级到更高版本以获得微软支持的好处。经过研究决定升级到 3.5 SP1,这显然会在 2020 年之前获得扩展支持。
使用 Visual Studio 2008 成功迁移后,过时的方法显示为警告,应用程序运行成功,无需对过时的方法进行任何更改。
如果这些警告没有按照建议进行更改。如果出现任何问题,Microsoft 将根据 3.5 SP1 支持结束日期支持它们。
您能否建议正确的操作。
c# - ConfigurationSettings.AppSettings 已过时
以下代码工作正常:
带有如下警告消息:
'System.Configuration.ConfigurationSettings.AppSettings' 已过时:'"此方法已过时,已被 System.Configuration!System.Configuration.ConfigurationManager.AppSettings 取代"'
正如警告消息所建议的那样,我尝试替换ConfigurationSettings.AppSettings
为ConfigurationManager.AppSettings
现在出现一条错误消息,指出:
当前上下文中不存在名称“ConfigurationManager”
这些是导入的命名空间:
请帮我。
c++ - What the OpenGL coordinates are? Ignore OpenGL window size
I just started trying to folow simple "draw cube" openGl tutorial. After final victory over getting OpenGL to work, I still have very veird results. My problem is that the objects tend to resize themselves to match the window size. Instead, I'd like the window size determine the rendering area - the larger the window is, the more you may see.
Here are some screenshots of the resizing:
Normal size
Resized
Images kept as links intentionally!
This auto-resizing behavior brings a question what the coordinates used in OpenGL are.
java - 以编程方式调用 PHP 页面并需要客户端 Javascript 来执行
我有一个 PHP 页面,它通过 GET 获取一个变量,然后根据该变量从数据库中提取一些信息。一旦完成服务器端的工作,就会有一些 javascript 运行并获取提供的数据,并使用 3rd 方 API 创建一个 .png 图像,然后使用对另一个 PHP 页面的 AJAX POST 调用将该图像保存到我的服务器。
这一切都很好,但我现在想做的是自动执行对该 PHP 页面的一些调用。也就是说,假设我有 100 个这样的变量要通过,我想,最好是在 Java 中使用 for 循环,依次调用带有每个变量的 PHP 页面。
问题是客户端的javascript。它不会URLConnection
在 Java 中以简单的方式执行。似乎我需要某种浏览器复制器或某种方式让 java 像在浏览器中调用 PHP 一样?
或者,我可以用第三个 PHP 页面代替 Java 作为控制器,但我面临着让 javascript 执行的同样问题。
我错过了一些简单的事情吗?这个设置是不可能的吗?如果可能的话,我真的更喜欢用 Java 将它折叠到我已经运行的其他代码中。
让我尝试添加更多细节,而不会过多地陷入困境。有一个 PHP 文件getData.php
通过 GET 获取 ID 号。所以我称之为./getData.php?id=someId
该 PHP 文件获取 ID,转到我的数据库并检索一些数据并将其粘贴到 HTML 源中。然后,一旦页面完成,我在其中有一些 javascriptgetData.php
来检索该数据,将其格式化为 DataTable 并将其传递给 Google Visualization API 以制作 SVG 图表。
然后我有更多运行的 JS 获取该 SVG 对象,将其转换为 Canvas 对象,从中获取 base64 图像数据,最后使用以下数组发布到 saveTo.php:
saveTo.php
只需接收该 POST 数据,根据 id 在我的服务器上创建一个文件并将 imgData 粘贴到其中。最终结果是我可以将一个 ID 传递给getData.php
并最终得到一个可视化图表的保存图像,我希望根据与该 ID 相关联的数据库中的数据制作该图表。
这一切都是手工工作的。但是我有大约 1,000 个这些 ID,我想拥有它,以便每天早上运行整个过程,以便我可以根据昨天的数据更新图像。
我应该提到我确实尝试使用 3rd 方工具包 HtmlUnit ( http://htmlunit.sourceforge.net/ ) 但只是不断收到这些错误:
com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.
.htaccess - 如何使用 .htaccess 重定向过时的浏览器
我尝试了此页面上的所有建议(使用 .htaccess 重定向过时的浏览器),但都没有奏效。我用谷歌搜索但没有找到一个可行的例子。
在处理具有两位数版本号的浏览器时,这些都不起作用。
例如,下面的行阻止了 Opera v.1.x 和 Opera v.12.x:
下面的代码也不起作用:
重定向 Opera 版本 1.x-11.x 的正确代码是什么?
我做了更多的测试,发现了一些对我来说很奇怪的东西。如果我尝试使用 Opera 版本 11 访问该站点,则在使用以下内容时,重写规则会不情愿地启动:
如果我只是评论...
... Opera 浏览器版本 11 不会被重定向。
更具体地说,如果它们符合规则,我会尝试将具有某些版本的某些浏览器重定向到特定页面。这是一个示例,但它没有按预期工作,我认为必须有一种更简洁的方式来编写每个条件:
这是我正在尝试做的事情:
c# - 如何在当前代码中限制给定方法/类的使用
在 C# 中,[Obsolete]
可用于“代码作者”来标记代码已过时。
但是,“代码用户”是否有一种方法可以标记他/她的代码中限制了某个方法/类?
在 C++(Visual C++)中,我们#pragma deprecated
或多或少地必须归档这个目的。C#中有对应的吗?
例如,
.Net在类中提供Marshal.SizeOf()
方法。System.Runtime.InteropServices.Marshal
我不想Marshal.SizeOf()
在我的代码中使用,但在类中确实需要一些其他方法Marshal
。除了用我的眼睛检查代码之外,我如何在代码中应用策略......(为此目的,使用代理类/等太重了。)
在 Visual C++ 中,#pragma deprecated
用于此目的的功能有限。