问题标签 [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.

0 投票
1 回答
904 浏览

integer - EDSAC - 17 位和 35 位整数

我正在尝试为EDSAC编写一个程序,并且一直在理解短整数和长整数的东西——有时我输入一些东西得到一个零,而在其他时候我得到一个。

因此,例如:

如果我输入P0F,则存储 0。

如果我输入P0D,则存储 1。

如果我输入P1F,则存储 2

如果我输入P2D,则存储 3。

F表示使用 17 位整数,D表示全长 35 位整数。

有人可以解释为什么 P0F 和 P0D 没有相同的整数值,只是位长不同吗?

0 投票
2 回答
6571 浏览

c# - CodeDomProvider.CreateCompiler() 已过时

如何编写此代码以消除此警告:

System.CodeDom.Compiler.CodeDomProvider.CreateCompiler()' is obsolete: '"调用者不应使用 ICodeCompiler 接口,而应直接使用 CodeDomProvider 类上的方法。从 CodeDomProvider 继承的那些仍必须实现此接口,并应排除此警告或废弃此方法。**

0 投票
1 回答
283 浏览

.net - 使用 [Obsolete] 属性来指示开发人员不要使用 API 的某些部分是一种好习惯吗?

最近我一直在写一些可序列化的对象,它也处理特定的逻辑并具有特定的生命周期。为了使其正常工作,必须使用适当的构造函数对其进行实例化,该构造函数需要强制参数。但是,出于序列化目的,我还必须添加一个公共默认构造函数。

该对象将由我们的 API 公开可用,并且第 3 方开发人员应该能够实例化和使用它。尽管会有适当的文档说明如何正确操作该对象,但不能保证有人会尝试使用不正确的构造函数——然后遇到麻烦。

我正在寻找一种巧妙的方法来在第 3 方开发人员编写他们的代码时应用一些指导。我想到了这个Obsolete属性——我可以用适当的注释来注释序列化构造函数作为消息。然后该消息将出现在输出警告中,并将开发人员引导至正确的代码行。此外,Visual Studio 和使用的任何代码检查插件都会适当地突出显示构造函数的用法。

这种方法困扰我的是Obsolete属性的目的完全不同。它的语义含义是被装饰的项目已被弃用,并且可能会在以后的版本中被删除。在序列化构造函数场景中这是错误的,并且该属性的用法和含义之间会存在差异。更不用说某些开发部门可能启用的“将警告视为错误”选项......

所以,问题是 - 对于这种属性的使用,这是一种可接受的做法吗?是否有任何其他合法和通用的方式来达到相同的效果(通用我的意思是不依赖第 3 方代码检查插件等 - 我不控制谁使用代码以及他们的设置是什么)?


关于下面答案中的评论(这对我仍然有用),我必须澄清我在可继承类上使用受保护的默认构造函数。构造函数用于支持 XML 序列化,但不应用于在业务逻辑中初始化类。继承类应该调用其他一些基本构造函数,编写继承类的开发人员需要知道这一点。尽管如此,如果需要,从该代码派生的开发人员还必须能够为其继承的类启用 XML 序列化。

0 投票
2 回答
1861 浏览

obsolete - 过时和废弃代码之间的区别

术语“过时代码”和“废弃代码”有什么区别?如果存在差异,哪些方法可以减少?

0 投票
2 回答
391 浏览

.net - 如果在最新的 .Net Framework 中使用,Microsoft 是否提供对过时方法的支持

对 Dot Net Framework 1.1 的扩展支持将于 2013 年 9 月结束,它强制每个人将框架升级到更高版本以获得微软支持的好处。经过研究决定升级到 3.5 SP1,这显然会在 2020 年之前获得扩展支持。

使用 Visual Studio 2008 成功迁移后,过时的方法显示为警告,应用程序运行成功,无需对过时的方法进行任何更改。

如果这些警告没有按照建议进行更改。如果出现任何问题,Microsoft 将根据 3.5 SP1 支持结束日期支持它们。

您能否建议正确的操作。

0 投票
3 回答
47635 浏览

c# - ConfigurationSettings.AppSettings 已过时

以下代码工作正常:

带有如下警告消息:

'System.Configuration.ConfigurationSettings.AppSettings' 已过时:'"此方法已过时,已被 System.Configuration!System.Configuration.ConfigurationManager.AppSettings 取代"'

正如警告消息所建议的那样,我尝试替换ConfigurationSettings.AppSettingsConfigurationManager.AppSettings

现在出现一条错误消息,指出:

当前上下文中不存在名称“ConfigurationManager”

这些是导入的命名空间:

请帮我。

0 投票
2 回答
8983 浏览

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.

0 投票
1 回答
506 浏览

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'.

0 投票
2 回答
4588 浏览

.htaccess - 如何使用 .htaccess 重定向过时的浏览器

我尝试了此页面上的所有建议(使用 .htaccess 重定向过时的浏览器),但都没有奏效。我用谷歌搜索但没有找到一个可行的例子。

在处理具有两位数版本号的浏览器时,这些都不起作用。

例如,下面的行阻止了 Opera v.1.x 和 Opera v.12.x:

下面的代码也不起作用:

重定向 Opera 版本 1.x-11.x 的正确代码是什么?

我做了更多的测试,发现了一些对我来说很奇怪的东西。如果我尝试使用 Opera 版本 11 访问该站点,则在使用以下内容时,重写规则会不情愿地启动:

如果我只是评论...

... Opera 浏览器版本 11 不会被重定向。

更具体地说,如果它们符合规则,我会尝试将具有某些版本的某些浏览器重定向到特定页面。这是一个示例,但它没有按预期工作,我认为必须有一种更简洁的方式来编写每个条件:

这是我正在尝试做的事情:

0 投票
1 回答
139 浏览

c# - 如何在当前代码中限制给定方法/类的使用

在 C# 中,[Obsolete]可用于“代码作者”来标记代码已过时。

但是,“代码用户”是否有一种方法可以标记他/她的代码中限制了某个方法/类?

在 C++(Visual C++)中,我们#pragma deprecated或多或少地必须归档这个目的。C#中有对应的吗?

例如,

.Net在类中提供Marshal.SizeOf()方法。System.Runtime.InteropServices.Marshal我不想Marshal.SizeOf()在我的代码中使用,但在类中确实需要一些其他方法Marshal。除了用我的眼睛检查代码之外,我如何在代码中应用策略......(为此目的,使用代理类/等太重了。)

在 Visual C++ 中,#pragma deprecated用于此目的的功能有限。