小编Jon*_*zzi的帖子

如何在stacktrace中获取参数值

我可以通过StackTrace获取有关参数的信息,使用类似的方法:

catch (Exception ex)
{
    var st = new StackTrace(ex);

    System.Reflection.ParameterInfo pi = st.GetFrame(0).GetMethod().GetParameters().First();
}
Run Code Online (Sandbox Code Playgroud)

我想知道我如何获得参数的值.例:

如果我在堆栈跟踪中的方法是这样的:

void MyMethod(object value)
Run Code Online (Sandbox Code Playgroud)

电话就像:

MyMethod(10);
Run Code Online (Sandbox Code Playgroud)

我想得到价值10.我怎么做?

.net c# system.diagnostics exception stack-trace

15
推荐指数
1
解决办法
1万
查看次数

如何将ItemsControl.ItemsSource与XAML中的属性绑定?

我有一个简单的窗口:

<Window x:Class="WinActivityManager"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <ListView x:Name="lvItems" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

以及相关代码背后:

public partial class WinActivityManager : Window
{
    private ObservableCollection<Activity> Activities { get; set; }

    public WinActivityManager()
    {
        Activities = new ObservableCollection<Activity>();
        InitializeComponent();
    }

    // Other code ...
}
Run Code Online (Sandbox Code Playgroud)

如果我在窗口构造函数中编写以下绑定:

lvItems.ItemsSource = Activities;
Run Code Online (Sandbox Code Playgroud)

然后当我添加或删除元素时,我的ListView会自动更新Activities.

我该如何在XAML中编写绑定?
我试过这个,但它不起作用:

<ListView x:Name="lvItems" ItemsSource="{Binding=Activities}" />
Run Code Online (Sandbox Code Playgroud)

如何在XAML中完成这项工作?

c# wpf binding wpf-controls

9
推荐指数
2
解决办法
6万
查看次数

Expo 无法构建,请求失败,状态码为 400

我正在尝试在 expo react native 项目中构建一个项目。

我的世博会版本是 3.2.2,sdkVersion 是 35。

当我在 cmd 中运行时(在 Windows 10 上)

set EXPO_DEBUG=true
expo build:android -c
Run Code Online (Sandbox Code Playgroud)

我有:

Request failed with status code 400

Error: Request failed with status code 400
  at createError (C:\Users\Jonny\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\core\createError.js:16:15)
  at settle (C:\Users\Jonny\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\core\settle.js:17:12)
  at IncomingMessage.handleStreamEnd (C:\Users\Jonny\AppData\Roaming\npm\node_modules\expo-cli\node_modules\axios\lib\adapters\http.js:237:11)
  at IncomingMessage.emit (events.js:203:15)
  at endReadableNT (_stream_readable.js:1145:12)
  at process._tickCallback (internal/process/next_tick.js:63:19)
Run Code Online (Sandbox Code Playgroud)

我试图更新 expo 版本,sdkVersion,react 版本,检查互联网连接。

Expo 登录和注销工作正常。我的网络中没有任何代理。

我对搜索什么或如何解决这个问题没有任何线索。

build react-native expo

9
推荐指数
1
解决办法
3495
查看次数

从MailItem获取唯一ID(Microsoft.Office.Interop.Outlook)?

嗨,我正在创建一个应用程序来阅读Outlook中收到的电子邮件.阅读过程是这样的:

在使用行:

using Outlook = Microsoft.Office.Interop.Outlook;
Run Code Online (Sandbox Code Playgroud)

代码块:

var app = new Outlook.Application();
var ns = app.GetNamespace("MAPI");
ns.Logon(null, null, false, false);

var inboxFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
var subfolder = inboxFolder.Folders["MyFolderName"];

foreach (Outlook.MailItem item in subfolder.Items)
{
    // do something
    // item.EntryID
}
Run Code Online (Sandbox Code Playgroud)

现在我需要从这个项目中获取一个唯一的id(在foreach中).有一个EntryID属性Outlook.MailItem,我使用它,它运作良好,但我发现了一个问题.当我将电子邮件(在Outlook中)移动到另一个文件夹时,此属性已EntryID更改.

我运行了几次测试,发现EntryID当我将邮件移动到另一个文件夹时,该值只会改变几个字符.

无论什么文件夹,我都需要一个唯一的ID.是否有另一个属性Outlook.MailItem或其中的任何子串EntryID始终是唯一的?

我正在使用:

  • .net 4.0.
  • Outlook 2010.
  • Microsoft.Office.Interop.Outlook.dll版本14.0.0.0.

.net c# outlook office-interop

6
推荐指数
1
解决办法
9092
查看次数

StreamWriter在行尾添加一个额外的\ r \n

我创建了一个类,负责生成一个文本文件,其中每一行代表'MyDataClass'类对象的信息.以下是我的代码的简化:

public class Generator
{
    private readonly Stream _stream;
    private readonly StreamWriter _streamWriter;
    private readonly List<MyDataClass> _items;

    public Generator(Stream stream)
    {
        _stream = stream;
        _streamWriter = new StreamWriter(_stream, Encoding.GetEncoding("ISO-8859-1"));
    }

    public void Generate()
    {
        foreach (var item in _items)
        {
            var line = AnotherClass.GetLineFrom(item);

            _streamWriter.WriteLine(line);
        }

        _streamWriter.Flush();
        _stream.Position = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

我称这个类是这样的:

using (var file = new FileStream("name", FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
    new Generator(file).Generate();
}
Run Code Online (Sandbox Code Playgroud)

当我在visual studio上运行应用程序时(我使用run(Ctrl + F5)进行测试,使用调试和释放模式进行调试(F5))所有都按照计划进行.但是我在IIS服务器上发布了应用程序,现在StreamWriter类在行结束之前添加了一个额外的\ r \n.

检查两个生成的文件的十六进制读数:

在Visual Studio中运行:http: //www.jonataspiazzi.xpg.com.br/hex_vs.bmp

在IIS中运行:http: …

.net c# iis streamwriter visual-studio-2010

6
推荐指数
2
解决办法
4671
查看次数

Google Chrome的Performance Recorder中的黑匣子脚本

在Chrome开发者工具上调试时,您可以将.js(.ts,...)文件设置为黑盒。调试不会进入黑盒文件。

很好 但我想要/需要更多。当使用“效果”标签并记录一些操作时,Chrome会收集所有已运行的事件和代码(无论黑匣子如何)。

有没有一种方法可以过滤记录或遵守黑匣子记录?(或具有相同效果的东西)。

javascript debugging google-chrome developer-tools

5
推荐指数
0
解决办法
79
查看次数

Asp.net MVC Bundle可以在CSS中转换LESS吗?

我在Visual Studio 2015中使用Asp.Net MVC 5进行了一个项目.

所有我的css和js文件都由bundle(BundleConfigclass + @Styles,@Scripts在cshtml页面中)引用.

现在我正在考虑使用.less文件,而不是css文件.

那么,我将如何在捆绑中引用此文件?最重要的是,可以捆绑(或其他)在.css中自动转换.或者我需要手动执行吗?

css c# asp.net asp.net-mvc less

4
推荐指数
1
解决办法
5768
查看次数

Windows 上的 GIT Hooks 批处理

我正在尝试创建一个 git hook 规则,只有在文件myexamplefile.txt被更改时才能进行提交。

我将我的文件设置.git\hooks\commit-msg为:

for /f "tokens=*" %i in ('git status ^| find /c "AssemblyInfo.cs"') do set x=%i
if %x% (
    echo "nice"
    exit 0
)
else (
    echo "it's bad"
    exit 1
)
Run Code Online (Sandbox Code Playgroud)

我在这段代码中工作了一段时间,但出现了几个错误,现在我得到:

第 28 行:意外标记附近的语法错误 `"tokens=*"'

我怎么写这个钩子?重要的是要注意我在 windows 环境中。

git batch-file githooks

4
推荐指数
1
解决办法
1357
查看次数

使用第二个参数作为十进制值在Math.pow操作中获取NaN

我有一个方程,其中一个正方形,其中root = 5:

http://www.jonataspiazzi.xpg.com.br/eq.png

我需要在javascript中写这个等式,所以:

var y = Math.pow(-x, 1 / 5); // or Math.pow(-x, 0.2);
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是当我尝试这个价值时x = 400.

var y = Math.pow(-400, 0.2);
Run Code Online (Sandbox Code Playgroud)

我离开了NaN,但这个等式返回一个真值.
如果我使用我的calc或谷歌或任何其他计算我得到类似的东西:

(-400) ^ 0.2 = -3.31445401734

这是正确的.但是javascript正在搞砸我.

任何人都可以告诉我为什么和/或如何解决它?

javascript

3
推荐指数
1
解决办法
168
查看次数

在打字稿上扩展超级测试

我正在尝试在 supertest 上创建一个扩展。

使用我在问题Extending SuperTest 中发现的内容。我有这个工作示例javascript

const request = require('supertest');
const Test = request.Test;

Test.prototype.authenticate = function(user) {
  const {token, xsrfToken} = user.tokens;

  return this
   .set('Authorization', `Bearer ${token}`)
   .set('X-XSRF-TOKEN', xsrfToken);
}
Run Code Online (Sandbox Code Playgroud)

在测试块内,我可以使用:

request(app)
  .post('/user/settings')
  .authenticate(user)
  .send(...)
Run Code Online (Sandbox Code Playgroud)

这工作正常。现在的问题是在*.test.ts文件中使用扩展名。

正如使用 Typescript 扩展 Express Request 对象中所建议的那样,我尝试创建一个文件以使用typescript功能 Declaration Merging

// file location: ./src/types/supertest

declare namespace supertest {
  export interface Test {
    authenticate(user: any): this; // I didn't put a …
Run Code Online (Sandbox Code Playgroud)

testing bdd node.js typescript supertest

3
推荐指数
2
解决办法
3911
查看次数