小编kpr*_*bst的帖子

在PowerShell中终止脚本

我一直在寻找一种在函数内发生不可恢复的错误时终止PowerShell(PS1)脚本的方法.例如:

function foo() {
    # Do stuff that causes an error
    $host.Exit()
}
Run Code Online (Sandbox Code Playgroud)

当然没有这样的事情$host.Exit().有$host.SetShouldExit(),但这实际上关闭了控制台窗口,这不是我想要的.我需要的是与Python相同的东西sys.exit(),只需停止执行当前脚本而不需要进一步的操作.

编辑:是的,它只是exit.咄.

powershell

372
推荐指数
11
解决办法
79万
查看次数

PowerShell函数中的奇怪行为返回DataSet/DataTable

这真让我抓狂.我有一个来自多个脚本的库,它包含以下功能:

function lib_open_dataset([string] $sql) {
    $ds = new-object "System.Data.DataSet"
    $da = new-object "System.Data.SqlClient.SqlDataAdapter" ($sql, $_conn_string)

    $record_count = $da.Fill($ds)

    return $ds
}
Run Code Online (Sandbox Code Playgroud)

这几乎被称为无处不在,它工作得很好,除了我通常必须这样做:

$ds = lib_open_dataset($some_sql)
$table = $ds.Tables[0]
foreach ($row in $table.Rows) {
    # etc
}
Run Code Online (Sandbox Code Playgroud)

所以我创建了一个新的简单包装函数,以避免解除引用第一个表的额外步骤:

function lib_open_table([string] $sql) {
    $ds = lib_open_dataset $sql
    return $ds.Tables[0]
}
Run Code Online (Sandbox Code Playgroud)

问题是,从这里返回的是由于某种原因而不是本身的表Rows集合.这会导致上面写的行循环失败并显示"无法索引到空数组".例外.经过多次试验和错误,我发现这是有效的:foreach

foreach ($row in $table) {
    # etc
}
Run Code Online (Sandbox Code Playgroud)

需要注意的区别$table.Rows,只是$tableforeach声明.这有效.因为$table实际上指向Rows集合.如果声明

return $ds.Tables[0]
Run Code Online (Sandbox Code Playgroud)

假设是正确的,为什么函数返回表对象的子集合而不是表本身?

我猜测Powershell功能的工作原理显然会引起这种情况,但我无法弄清楚是什么.

database powershell

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

静态类必须从对象派生(C#)

我在C#中遇到问题,输出状态:

Error   1   Static class 'WindowsFormsApplication1.Hello2' 
cannot derive from type 'System.Windows.Forms.Form'. Static classes 
must derive from object.
Run Code Online (Sandbox Code Playgroud)

我怎么能纠正这个?

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }

        private void button1_Click(object sender, EventArgs e)
        {
             Hello2.calculate();
        }
    }



    public class Hello : Form
    {
        public string test { get; set; }

    }


    public static class Hello2 : Form
    {
        public static void calculate()
        {
            Process.Start("test.exe");

        }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# windows

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

在.NET应用程序中本地化大量文本的策略

我正在开发一个相当大的ASP应用程序,它将完全本地化.我resx在卫星装配中使用标准的命名方法,具有后备(即es-MX,es-CL和后备共同es等等).

不仅可能有数百个(如果不是一千个或更多!)不同的字符串; 在某些地方,需要存储为资源的文本量可能很长,只需几段.

我猜测在Visual Studio编辑器中管理这些字符串将是一种巨大的痛苦,更不用说将要做一些翻译的人首先无法访问VS.

那些在本地化应用上工作的人如何管理这类事情?任何建议和指示将不胜感激.

.net asp.net resources localization

13
推荐指数
1
解决办法
1636
查看次数

来自代码与数据库控制的事务的SQL客户端事务

我总是从存储过程中完成事务,但现在我需要在事务中包含一堆从代码执行的"动态"语句sp_executesql.

具体来说READ UNCOMMITED,在某些情况下我需要隔离级别(我知道那是做什么的,是的,这就是我需要的).这是SQL2008.

我的问题是:如果我使用BeginTransaction()我的SqlConnection实例的方法,隔离级别设置为IsolationLevel.ReadUncommitted将具有与执行具有该READ UNCOMMITED语句的存储过程相同的效果?

c# transactions isolation-level sql-server-2008

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

从动态类型获取属性

我有一个动态类型

var f = context.ExecuteStoreQuery<dynamic>("CALL iv_sp_computersbyday();
Run Code Online (Sandbox Code Playgroud)

我怎么能现在什么属性有动态tuype返回??? 我不能通过对动态的反思来访问.

c# reflection dynamic .net-4.0

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

jqgrid打印视图的一个想法

我想在jqgrid中有两个视图:

1)带有可排列列,分页等的常规网格视图(这很棒,效果很好......喜欢它!).

2)"打印视图",可以使用css轻松设置样式并为打印定制.类结构不应该太复杂,因为我想轻松制作自己的样式表.一个重要的事情是能够在每个打印页面上重复列标题.(我不喜欢从jqgrid打印.即使我使用"media = print"添加jqgrid样式表,打印结果也很难控制.)

所以,我做的是首先创建一个jqGrid.然后,使用它的数据,创建我自己的表并从中打印.这有点像黑客.但它的确有效.

1-创建网格并将其插入div.注意我根据变量的存在在"loadComplete"函数中调用了"build_print_view".这允许我控制我是否要首先显示"打印视图"或"网格视图":

 function classGrid(select_val, showgrid){               
    jQuery.get('/lookupgrid/lookupgrid/get_grid', function(data) {            
        var _html= jQuery(data);
        jQuery('#resultdiv').html(_html);            
        var gridtable = jQuery("#list");
        var formdata = new Array();
        formdata.push({
            name: "var1",
            value: "whatever"
        }); 
        formdata.push({
            name: "var2",
            value: "whateverelse"
        });

        var lastsel; 
        console_log("in classGrid");    
        gridtable.jqGrid({
            url:'/lookupgrid/lookupgrid/class_grid',                       
            colNames:['var1','var2'],
            colModel :[
            {
                name:'var1',
                index:'var1',
                width:95
            },
            {
                name:'var2', 
                index:'var2', 
                width:95
            }],
            datatype: 'json',
            mtype: 'POST',
            pager: '#pager',    
            rowList:[10,20,30],            
            loadComplete: function() {
                    if(!showgrid){
                        build_print_view();
                    }
            },
            onSelectRow: function(id){
                var rowdata = gridtable.jqGrid('getRowData',id);                    
                alert('Selected row ID …
Run Code Online (Sandbox Code Playgroud)

printing jqgrid

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

实体框架中的共享连接字符串

我想在我的Web.config中创建一个connectionString,然后在所有模块声明的"provider connection string"属性中重用它.

示例:以这种方式声明连接字符串:

<add name="MyConnectionString" connectionString="Data Source=.;Initial
Catalog=MyDB;User ID=username;Password=pwd;" />
Run Code Online (Sandbox Code Playgroud)

然后在模块之间共享此连接:

<add name="Module1Context" connectionString="metadata=res//*/Module1.csdl| ... | 
...;provider=System.Data.SqlClient;provider connection string=MyConnectionString" 
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)

这可能吗?

c# asp.net-mvc entity-framework-4

5
推荐指数
1
解决办法
1155
查看次数

使用T4MVC和构建脚本

有没有人让T4MVC作为构建脚本的一部分运行?最好是NAnt构建脚本.

我不想检查生成的文件,只是让构建服务器创建它们作为构建的一部分,但T4MVC只能在Visual Studio中运行.

我试过了:

有没有人成功找到工作的解决方案?

nant model-view-controller t4mvc

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

如何将对象类型转换为短类型?(C#)

您好C#编程新手.

我一直试图以这种方式投射:

m_GameBoard = new Board((short)i_array[1]); // (i_array is defined as object[] i_array)
Run Code Online (Sandbox Code Playgroud)

编译器没有说什么,但在运行时遇到以下崩溃:

System.InvalidCastException未处理 Message = Association指定无效.Source = B11 Ex02 StackTrace:ב-B11_Ex02.Game..ctor(Object [] i_array)ב-..\B11 Ex02\Game.cs:line 32ב-B11_Ex02.Program.Main()ב-\ B11 Ex02\Program .cs:line 56ב-System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly,String [] args)ב-System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args)ב-Microsoft.VisualStudio.HostingProcess.HostProc. RunUsersAssembly()ב-System.Threading.ThreadHelper.ThreadStart_Context(Object state)ב-System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean ignoreSyncCtx)ב-System.Threading.ExecutionContext.Run(ExecutionContext executionContext ,ContextCallback回调,对象状态)ב-System.Threading.ThreadHelper.ThreadStart()InnerException:

非常感谢您的帮助,提前致谢

c# casting

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