我需要从32位WOW进程获取本机(而不是WOW)程序文件目录的路径.
当我将CSIDL_PROGRAM_FILES(或CSIDL_PROGRAM_FILESX86)传递给SHGetSpecialFolderPath时,它返回WOW(Program Files(x86))文件夹路径.
如果可能的话,我宁愿避免使用环境变量.
我想比较一下我从注册表中读取的一些值,如果值指向我的应用程序的WOW或本机版本的路径,那么我的代码会执行某些操作,否则它会执行其他操作.要弄清楚我的应用程序的原生和WOW版本应该在哪里,我需要获得"Program Files(x86)"和"Program Files"的路径.
我有一个带有以下签名的异步方法:
IAsyncResult BeginGetMyNumber(string foo, string bar, string bat, int bam, AsyncCallback callback, object state)
Run Code Online (Sandbox Code Playgroud)
我想使用Factory.FromAsync执行它,如下所示:
var result = Task<int>.Factory.FromAsync(
instance.BeginGetMyNumber,
instance.EndGetMyNumber,
"foo",
"bar",
"bat",
100, /*bam*/
null);
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
参数1:无法从'方法组'转换为'System.Func'
似乎没有合适的重载FromAsync方法http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspx,它只支持最多5个参数(包括回调和状态)在BeginXXX方法上.
除了重构BeginXXX方法以获取对象而不是六个参数之外,有没有办法使用FromAsync执行它?
如果我有这样的课程:
[DataContract(Name = "", Namespace = "")]
public class MyDataObject
{
[DataMember(Name = "NeverNull")]
public IList<int> MyInts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当下列字符串被反序列化时,有没有办法让MyInts字段成为非空的空列表?
string serialized = @"{""NeverNull"":null}";
MyDataObject myDataObject = JsonConvert.DeserializeObject<MyDataObject>(serialized);
Run Code Online (Sandbox Code Playgroud)
我正在使用Newtonsoft.Json
我想问的原因是,我有一个相当复杂的JSON请求解析,它包含对象列表的巢,我想反序列化的代码来创建这些对象,以便我能避免大量的无效检查:
if (foo.bar != null)
{
foreach (var bar in foo.bar)
{
if (bar.baz != null)
{
foreach (var baz in bar.baz)
{
...
Run Code Online (Sandbox Code Playgroud) 我的.net服务通过在Main()循环退出之前调用finally块中的resourceName.Dispose()来清除所有非托管资源.
我真的必须这样做吗?
我是否认为我不能泄漏任何资源,因为这个过程正在结束?Windows将关闭任何不再使用的句柄,对吧?
我希望我的应用程序始终使用最新版本的Paypal API,我的理解是,如果我在NVP集合中未指定"VERSION",则默认情况下将调用最新版本.谁能证实这一点?
我想解析 JSON 字符串并使用该token.Type
属性来检测 type 的值JTokenType.TimeSpan
。
我不知道如何在我的输入字符串中表达 TimeSpan,一切似乎都被解释为 JTokenType.String。
var timeSpanString = TimeSpan.FromHours(1).ToString();
testString = string.Format(@"{{""Value"": ""{0}"" }}", timeSpanString);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // JTokenType.String
Run Code Online (Sandbox Code Playgroud)
我什至试过:
JValue jValue = new JValue("test");
jValue.Value = TimeSpan.FromHours(1);
bool isTimeSpan = jValue.Type == JTokenType.TimeSpan; // true!
testString = string.Format(@"{{""Value"": ""{0}"" }}", jValue.Value);
var statObject = JObject.Parse(testString);
JToken token = statObject["Value"];
var tokenValue = token.ToString();
var tokenType = token.Type; // …
Run Code Online (Sandbox Code Playgroud) 我正在使用依赖注入来模拟类,以便对依赖于它们的其他类进行单元测试:
class Foo : IFoo
{
// production code
}
class MockFoo : IFoo
{
// mock so other classes that depend on Foo can be unit tested
}
class Bar
{
public DoSomething()
{
var barValue = 20;
// use dependency injection to get Foo instance.
DependencyInjection.Instance.Foo.ExampleMethod(barValue);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,设置我的依赖注入类变得笨拙,迷宫和复杂:
public class DependencyInjection
{
public Setup()
{
this.Foo = new Foo();
this.Bar = new Bar("example constructor string");
this.Bat = new Bat(123,234);
// for every single class in my application! …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Airflow工作流程中使用MsSqlOperator,但无法解决如何设置连接字符串的问题。
我尝试将mssql_conn_id设置为连接字符串本身
t2 = MsSqlOperator(
task_id='sql-op',
mssql_conn_id='sa:password@172.17.0.2',
sql='use results; insert into airflow value("airflow","out")',
dag=dag)
Run Code Online (Sandbox Code Playgroud)
我得到错误
airflow.exceptions.AirflowException: The conn_id `sa:password@172.17.0.2` isn't defined
Run Code Online (Sandbox Code Playgroud)
所以我想需要定义mssql_conn_id。某处。有任何想法吗?
我可以使用sqlalchemy这样连接到MS SQL数据库:
params = urllib.quote_plus("DRIVER={ODBC Driver 13 for SQL Server};SERVER=172.17.0.2;UID=SA;PWD=password")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)
conn = engine.connect()
Run Code Online (Sandbox Code Playgroud)
因此我知道服务器已启动并正在运行。
c# ×5
.net ×4
json ×2
json.net ×2
64-bit ×1
airflow ×1
asynchronous ×1
c++ ×1
code-cleanup ×1
dispose ×1
handle ×1
iasyncresult ×1
paypal ×1
powershell ×1
sql-server ×1
timespan ×1
unit-testing ×1
windows ×1