我见过很多人试图编写自己的图像转换技术.它通常看起来非常复杂,最终使用GDI +函数调用,并操纵图像的位.这让我想知道在保存图像时我是否遗漏了.NET图像转换调用的简单性.这是我的代码:
Bitmap tempBmp = new Bitmap("c:\temp\img.jpg");
Bitmap bmp = new Bitmap(tempBmp, 800, 600);
bmp.Save(c:\temp\img.bmp, //extension depends on format
ImageFormat.Bmp) //These are all the ImageFormats I allow conversion to within the program. Ignore the syntax for a second ;)
ImageFormat.Gif) //or
ImageFormat.Jpeg) //or
ImageFormat.Png) //or
ImageFormat.Tiff) //or
ImageFormat.Wmf) //or
ImageFormat.Bmp)//or
);
Run Code Online (Sandbox Code Playgroud)
这就是我在图像转换中所做的一切.只需设置应保存图像的位置,并将其传递给ImageFormat类型.我已经尽我所能测试了它,但是我想知道在这种简单的格式转换中我是否遗漏了什么,或者这是否足够?
我正在研究微软认证考试,考试中"内容"的一些措辞让我很困惑.在MS考试网站的 " 开发Web表单页面"下,它说明了考试内容......
此目标可能包括但不限于:页面指令,如ViewState,请求验证,事件验证,MasterPageFile; 的ClientIDMode;
我的印象是页面指令引用了@Page关键字,而@Page部分中定义的关联值是属性/属性.但是考试内容的措辞几乎意味着@Page关键字的属性/属性是指令.
有人可以帮我解决这个问题吗?
我有一个VARCHAR2列,我想用数字排序.它将包含数字的99%(或甚至100%)的时间.我环顾四周,发现了这个解决方案.引用来源:
请记住,我们的目标是按升序对supplier_id字段进行排序(基于其数值).为此,请尝试使用LPAD函数.
例如,
通过lpad(supplier_id,10)从供应商订单中选择*;
此SQL填充supplier_id字段的前面,空格最多为10个字符.现在,您的结果应按升序排序.
我用这个解决方案玩了一下,它似乎是workign(到目前为止),但它是如何工作的,任何人都能解释一下吗?
问题:我想知道在ORM中使用实体继承时实现什么类型的存储库和控制器设计/工作流程,在这种情况下是LINQ 2 SQL和MVC .NET.
我有一个非常简单的层次结构,其中服装类(具体)继承自Product(抽象类).然而,这使设计变得相当复杂.为每个具体的Product实现创建一个存储库类是愚蠢的,所以我在我的'Product'存储库中使用Product作为参数类型和返回类型."但是,因此我必须将Product类型转换为Product的具体实现(在从存储库请求之前或之后).
我注意到的另一件事是,即使我确定要转换的正确类型,我也必须定义我的视图模型以传递给我的每个具体实现的Product视图.
如果这是需要做的事情,那就这样吧,但我对其他人的想法和/或经历感兴趣.
什么是干净的在JavaScript或jQuery的方式来过滤掉控制键.通过控制键,我指的是任何不是AZ,0-9或特殊字符的键(即!,@,#等).我只想过滤出"Shift","Alt",F1-F9,Caps Lock等键.
我确信我可以从事件参数中检查每个ASCII码...但我想知道是否有"更清洁"的解决方案.
注意:我正在开发专门针对IE 8的应用程序
我正在阅读ECMA 262 5规范的执行上下文/词汇环境部分.它陈述如下:(强调添加)
词汇环境是一种规范类型,用于根据ECMAScript代码的词法嵌套结构定义标识符与特定变量和函数的关联.词汇环境由环境记录和外部词汇环境的可能空引用组成.通常,词汇环境与ECMAScript代码的某些特定语法结构相关联,例如TryStatement 的FunctionDeclaration,WithStatement或Catch子句,并且每次评估此类代码时都会创建新的词法环境.
我注意到它没有说明为函数表达式创建词法环境.是为函数表达式创建的词法环境,还是仅为函数声明创建的?我错过了什么吗?
编辑:我注意到函数代码将有自己的执行上下文,这就是为什么我也很困惑为什么在词法环境部分没有提到函数表达式.
我正在阅读有关JavaScript闭包的内容.我熟悉执行上下文,如何维护词汇环境,以及非常熟悉词法范围.
我想知道如何创建和维护 JavaScript中的闭包.有时我很难掌握这些重要的概念而不知道它是如何实现的.我知道,根据维基百科的说法,关闭是
是函数或函数的引用以及引用环境 - 一个存储对该函数的每个非局部变量(也称为自由变量)的引用的表.
但我的问题是,根据ECMA规范,我想知道如何创建和维护闭包.我不是在寻找关闭理论的高级解释,请在答案中参考ECMA规范.
注意:请不要认为这是重复的,除非答案解释了使用ECMA规范的闭包.同样,我对引用维基百科和举例的人不感兴趣,我想完全理解JavaScript如何做到这一点.(我在SO上熟悉这个问题).
我正在查看第13节或ECMAScript规范(第5节).匿名函数表达式初始化如下:
返回使用FormalParameterListopt指定的参数和FunctionBody指定的主体创建13.2中指定的新Function对象的结果.将正在运行的执行上下文的LexicalEnvironment作为Scope传递.如果FunctionExpression包含在严格代码中或者其FunctionBody是严格代码,则传入true作为Strict标志.
这个逻辑与初始化函数声明的方式非常相似.但是,请注意命名的funciton表达式的不同初始化方式.
- 让funcEnv成为调用NewDeclarativeEnvironment传递正在运行的执行上下文的Lexical Environment作为参数的结果
- 让envRec成为funcEnv的环境记录.
- 调用envRec的CreateImmutableBinding具体方法,将Identifier的String值作为参数传递.
- 让闭包是创建一个新的Function对象的结果,该对象在13.2中指定,其中参数由FormalParameterListopt和FunctionBody指定的body指定.传入funcEnv作为范围.如果FunctionExpression包含在严格代码中或者其FunctionBody是严格代码,则传入true作为Strict标志.
- 调用envRec的InitializeImmutableBinding具体方法,将Identifier和closure的String值作为参数传递.
- 关闭.
我知道命名/匿名函数表达式之间的一个重大区别是命名函数表达式可以在函数内递归调用,但这就是我能想到的.为什么设置如此不同?为什么需要执行这些额外的步骤?
在我的 .NET Web APIv2 项目中,我发现自己将所有注入服务的范围标记为Singleton.
我正在使用Simple Injector DI 框架(这对我的具体问题并不重要)。
这是一个简化的示例:
public class SqlConnectionFactory : IDbConnectionFactory
{
public async Task<SqlConnection> GetOpenSqlConnectionAsync()
{
var connection = new SqlConnection("connstring");
await connection.OpenAsync();
return connection;
}
}
public class UserService : IUserService
{
private IDbConnectionFactory DbConnectionFactory { get; set; }
public UserService(IDbConnectionFactory dbConnectionFactory)
{
DbConnectionFactory = dbConnectionFactory;
}
public async Task AddAsync(AddUserDto data)
{
using (SqlConnection connection = await DbConnectionFactory.GetOpenSqlConnectionAsync())
{
// Create a glorious SqlCommand...
await cmd.ExecuteNonQueryAsync();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的其他一些服务包括一些加密类,它们不包含任何状态,并且很容易成为静态类。 …
.net dependency-injection inversion-of-control simple-injector asp.net-web-api
我的 ASP.NET Core v2 项目的 Startup.cs 类中有以下方法。我的问题是如何设置一个类/服务,其中一个字符串值被传递给一个类,以及一个注入的依赖项。
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add custom services.
services.AddSingleton<IMyAssistantClass, MyAssistantClass);
services.AddSingleton<MyClassManager>(s => new MyClassManager("connectionString", /* How to inject IMyAssistantClass? */);
// Other setup....
}
Run Code Online (Sandbox Code Playgroud) .net ×4
javascript ×4
ecma262 ×3
ecmascript-5 ×3
asp.net ×2
.net-core ×1
asp.net-core ×1
c# ×1
closures ×1
function ×1
jquery ×1
keydown ×1
linq-to-sql ×1
oracle ×1
orm ×1
repository ×1
scope ×1
sql ×1
sql-order-by ×1
syntax ×1