我需要获取原始请求字符串.以下是发送到Controller的http请求的示例.实际上,我需要发布数据(最后一行).我怎么能得到它?
请注意,我不想使用自动JSON模型绑定器.实际上,我需要原始的JSON文本
POST http://www.anUrl.com/CustomExport/Unscheduled HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
Referer: http://www.anUrl.com/CustomExport
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: localhost:8000
Content-Length: 102
Connection: Keep-Alive
Pragma: no-cache
{"runId":"1","fileDate":"8/20/2012","orderStartMinDate":"10/02/2012","orderStartMaxDate":"10/02/2012"}
Run Code Online (Sandbox Code Playgroud)
最后一行是我需要的.这不是进来的
var input = new StreamReader(Request.InputStream).ReadToEnd();
Run Code Online (Sandbox Code Playgroud) 我希望在c#中有类似javascript的prototype属性.
这个想法是像在javascript中那样扩展类的实例.
我发现最接近的是使用ExpandoObject,但是你无法用现有对象初始化它.
另一个问题是您可以从ExpandoObject中取回原始对象.
这就是我想要做的
var originalObject = new Person();
originalObject.name = "Will";
var extendedObject = new ExpandoObject();
extendedObject.lastName = "Smith";
//do something
originalObject = (Person) extendedObject;
Run Code Online (Sandbox Code Playgroud) 有:
[Category("Contract")]
public class ProgramClientShould
{
}
Run Code Online (Sandbox Code Playgroud)
要么:
[Trait("Contract", null)]
public class ProgramClientShould
{
}
Run Code Online (Sandbox Code Playgroud)
和Resharper - >选项 - >工具 - >单元测试:"从类别中跳过测试",其值为"合同"
仍然,ProgramClientShould中的测试被执行.怎么了?
如果向当前查询添加更多限制,则可以在 c# 中轻松创建动态查询。
var list = new List<Item>();
var q = list.AsQueryable();
q = q.Where(x => x.Size == 3);
q = q.Where(x => x.Color == "blue");
Run Code Online (Sandbox Code Playgroud)
在这种情况下,每个新谓词都被添加,并与前一个谓词执行 AND 运算。之前的结果等价于:
q = list.Where(x => x.Size == 3 && x.Color == "blue");
Run Code Online (Sandbox Code Playgroud)
是否有可能达到相同的结果但使用 OR 而不是 AND ?
q = list.Where(x => x.Size == 3 || x.Color == "blue");
Run Code Online (Sandbox Code Playgroud)
这个想法是有可变数量的表达式与 OR 运算符连接。
预期的结果需要以类似于以下伪代码的方式编写:
var conditions = new List<Func<Item, bool>>();
Run Code Online (Sandbox Code Playgroud)
然后迭代条件来构建类似的东西:
foreach(var condition in conditions)
finalExpression += finalExpression || condition;
Run Code Online (Sandbox Code Playgroud) 我明白,由于 Babel 不支持开箱即用的装饰器(因为它处于定义的早期阶段) create-react-app 也不支持它。
我知道你可以弹出生成的应用程序并配置 Babel 来支持它们,但我不想这样做。
最后,像 MobX 这样的库允许你使用装饰器的行为,而无需实际使用它们,借助一些实用函数,如https://mobx.js.org/best/decorators.html 中描述的
React 有类似的东西吗?
我们假设我有以下对象函数:
function A(options){
...
}
Run Code Online (Sandbox Code Playgroud)
然后我想创建一个继承A原型的新函数(B).这些是我正在寻找的条件:
B应如下所示:
功能B(aOptions,bOptions){...}
var b = new B({}, {})
Run Code Online (Sandbox Code Playgroud) 我有以下场景
public class A
{
}
public class BA : A
{
}
//other subtypes of A are defined
public class AFactory
{
public T Create<T>() where T : A
{
//work to calculate condition
if (condition)
return new BA();
//return other subtype of A
}
}
Run Code Online (Sandbox Code Playgroud)
抛出以下编译错误:
错误CS0029无法将类型'B'隐式转换为'T'
怎么了?
c# ×2
javascript ×2
.net ×1
asp.net-mvc ×1
c#-4.0 ×1
dynamic ×1
expression ×1
generics ×1
lambda ×1
linq ×1
reactjs ×1
resharper ×1
xunit.net ×1