我可以通过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.我怎么做?
我有一个简单的窗口:
<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中完成这项工作?
我正在尝试在 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 登录和注销工作正常。我的网络中没有任何代理。
我对搜索什么或如何解决这个问题没有任何线索。
嗨,我正在创建一个应用程序来阅读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
始终是唯一的?
我正在使用:
我创建了一个类,负责生成一个文本文件,其中每一行代表'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: …
在Chrome开发者工具上调试时,您可以将.js(.ts,...)文件设置为黑盒。调试不会进入黑盒文件。
很好 但我想要/需要更多。当使用“效果”标签并记录一些操作时,Chrome会收集所有已运行的事件和代码(无论黑匣子如何)。
有没有一种方法可以过滤记录或遵守黑匣子记录?(或具有相同效果的东西)。
我在Visual Studio 2015中使用Asp.Net MVC 5进行了一个项目.
所有我的css和js文件都由bundle(BundleConfig
class + @Styles
,@Scripts
在cshtml页面中)引用.
现在我正在考虑使用.less文件,而不是css文件.
那么,我将如何在捆绑中引用此文件?最重要的是,可以捆绑(或其他)在.css中自动转换.或者我需要手动执行吗?
我正在尝试创建一个 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 环境中。
我有一个方程,其中一个正方形,其中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正在搞砸我.
任何人都可以告诉我为什么和/或如何解决它?
我正在尝试在 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) c# ×5
.net ×3
javascript ×2
asp.net ×1
asp.net-mvc ×1
batch-file ×1
bdd ×1
binding ×1
build ×1
css ×1
debugging ×1
exception ×1
expo ×1
git ×1
githooks ×1
iis ×1
less ×1
node.js ×1
outlook ×1
react-native ×1
stack-trace ×1
streamwriter ×1
supertest ×1
testing ×1
typescript ×1
wpf ×1
wpf-controls ×1