小编Ant*_*mas的帖子

在SyntaxTree中获取给定linenumber的SyntaxNode

我想得到给定位置(lineNumber)的一行的SyntaxNode.下面的代码应该是不言自明的,但让我知道任何问题.

static void Main()
        {
            string codeSnippet = @"using System;
                                        class Program
                                        {
                                            static void Main(string[] args)
                                            {
                                                Console.WriteLine(""Hello, World!"");
                                            }
                                        }";

            SyntaxTree tree = SyntaxTree.ParseCompilationUnit(codeSnippet);
            string[] lines = codeSnippet.Split('\n');
            SyntaxNode node = GetNode(tree, 6); //How??
        }

        static SyntaxNode GetNode(SyntaxTree tree,int lineNumber)
        {
            throw new NotImplementedException();
            // *** What I did ***
            //Calculted length from using System... to Main(string[] args) and named it (totalSpan)
            //Calculated length of the line(lineNumber) Console.Writeline("Helllo...."); and named it (lineSpan)
            //Created a textspan : TextSpan span …
Run Code Online (Sandbox Code Playgroud)

c# roslyn

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

VI编辑器:将整个文件拖到剪贴板(特定于OS X)

有没有办法在VI编辑器中将所有行从文件复制到剪贴板.我已经试过*yG,+yG,"+yG:%y+在SO从以前的帖子,但没有在OS X工程

macos vim

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

为什么在任何.csproj文件中找不到<Target Name ="Build">?

只是好奇 - 每当我看到.csproj的xml时,它就会开始,DefaultTargets="Build"因此我认为它<Target Name="Build">应该存在; 但是,我从未在任何.csproj文件中找到此默认目标.

VS是在编译之前注入此目标还是默认情况下msbuild构建它.内部会发生什么?

c# msbuild visual-studio

10
推荐指数
2
解决办法
4855
查看次数

线程是windows概念吗?

所以我正在阅读"通过C#CLR"并发现这一行" 一个线程是一个Windows概念,其工作是虚拟化CPU ".真?原来是Windows的单\多线程?

谷歌搜索理由没有帮助,因此寻求社区的帮助.

c# windows multithreading operating-system

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

Lua中的多个返回值

早点进入这个问题.用于多重返回值功能

fn=function() return 'a','b' end
Run Code Online (Sandbox Code Playgroud)

电话

print(fn()) 回报 a b

但电话

print(fn() or nil) 仅返回 a

为什么?or因为第一次通话成功对不对?

lua

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

无法使用 PreSendRequestHeaders() 覆盖 IIS 中的 http 缓存标头

历史:
出于安全考虑,我们的组织希望通过向 IIS 添加 HTTP 标头来禁用缓存。

过期:-1
Pragma:无缓存
缓存控制:无缓存、无存储

添加这些标头会导致 MIME“ application/vnd.ms-excel ”响应类型在IE6中对SSL进行故障转移。Microsoft 承认这是一个错误 ( http://support.microsoft.com/kb/323308 ),并且他们的解决方案也有效。然而,该解决方案必须作为补丁在整个组织中推广,并且面临更高管理层的阻力。

问题:
同时,我们尝试通过使用PreSendRequestHeaders()函数上的HTTPModules覆盖 IIS 设置 MIME 类型“application/vnd.ms-excel”页面的 HTTP 标头来找到替代方案

//this is just a sample code
public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += new EventHandler(context_PreSendRequestHeaders);

        }
protected void context_PreSendRequestHeaders(object sender, EventArgs e) 
        {
            HttpApplication application = (HttpApplication)sender;
            if(application.Response.ContentType == "application/vnd.ms-excel; name=DataExport.xls")
            {
                application.Response.ClearHeaders();
                application.Response.ContentType = "application/vnd.ms-excel; name=DataExport.xls";
                application.Response.AddHeader("Content-Transfer", "Encoding: base64");
                application.Response.AddHeader("Content-Disposition", "attachment;filename=DataExport.xls");
                application.Response.AddHeader("cache-control","private");
            }
        }
Run Code Online (Sandbox Code Playgroud)

即使使用 ClearHeaders() 清除标头后,IIS 仍会在发送响应之前附加缓存标头。 …

asp.net iis-6 http-headers

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

从bash运行时来自redis-cli的(空列表或集合)

我有3个虚拟密钥存储在我的本地redis服务器中.

redis 127.0.0.1:6379> keys *
1) "key2"
2) "key3"
3) "key1"
Run Code Online (Sandbox Code Playgroud)

当我尝试从bash获取相同的结果时,它返回"(空列表或设置)".为什么?

$ redis-cli keys *
(empty list or set)
Run Code Online (Sandbox Code Playgroud)

redis

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

使用派生类对象访问重写的基类成员(C#)

给出2种类型

class A { public virtual void Hello() { Console.WriteLine("A"); } }
class B : A { public override void Hello() { Console.WriteLine("B"); } }
Run Code Online (Sandbox Code Playgroud)

和'B'的实例 B b = new B();

我可以访问Hello()的方法Ab?(我可以想到在A中暴露A作为属性但不确定是否有另一种方式)

我知道这在c ++中是可能的,但在c#中我的头脑.

PS:请不要谈论'为什么你想要这个?' 或者"这是一个糟糕的设计"等.

c# inheritance

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

如何在控制台窗口中打印控制字符

我有以ASCII(09)或Unicode分配的制表符

char ch = '\x09';
(or)
char ch = '\u0009';
Run Code Online (Sandbox Code Playgroud)

如何'\t'在控制台窗口中打印?

以下都不起作用.(也许它打印一个标签,但不是'\ t'的规范表示)

Console.Write(ch);
Console.Write(ch.ToString())
Run Code Online (Sandbox Code Playgroud)

猜猜看,Console.Write()这不是正确的做法

c#

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

在PowerShell中设置具有属性的别名

我想在目录中设置列出文件的别名,但Set-Alias -name lf -value ls -file似乎不起作用.我打算用这个Unix别名的方式.

powershell

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

如何从枚举成员中获取DescriptionAttribute值

我有一个枚举类型

public enum DataType:int
    {   
        None = 0,
        [Description("A")]
        Alpha = 1,
        [Description("N")]
        Numeric,
        [Description("AN")]
        AlphaNumeric,
        [Description("D")]
        Date
    }
Run Code Online (Sandbox Code Playgroud)

如何检索Alpha的描述属性值.

例如(理想):DataType.Alpha.Attribute应该给"A"

c# attributes

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

在PowerShell中模拟'source'命令

我试图在powershell中模拟bash的命令.目的是对我进行任何更改microsoft.powershell_profile.psl并将其提供给现有的powershell实例.

以下命令在命令行中有效

$profile_content = [string]::join([environment]::newline,(get-content $profile))
invoke-expression $profile_content
Run Code Online (Sandbox Code Playgroud)

一切都很好; 我把microsoft.powershell_profile.psl它放入,它不起作用.

function source{
        $profile_content = [string]::join([environment]::newline,(get-content $args[0]))
        invoke-expression $profile_content
}
Run Code Online (Sandbox Code Playgroud)

我忽略了什么吗?

powershell

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