小编Che*_*eso的帖子

emacs的首选JavaScript模式?是Yegge的js2模式吗?

有几种JavaScript模式:

  • Steve Yegge的js2-mode
  • jarl.el来自KarlLandström.
  • 浓咖啡?
  • 别的什么?

有没有人建议使用哪个?


编辑
2011年6月11日 - 这是一个古老的,过时的问题.仅供参考:Emacs v23现在包含一个javascript模式,它被称为js-mode,它基本上是一个重命名和更新的浓缩咖啡模式.我选择使用内置模式.

javascript emacs

13
推荐指数
2
解决办法
4289
查看次数

是否可以将C#Enum暴露给COM Interop调用者,如果是这样,怎么样?

我有一个通过COM Interop调用的托管程序集.像VBScript客户端,Perl客户端等.

课程装饰有

[ClassInterface(ClassInterfaceType.AutoDual)]
[GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000E")]
[ComVisible(true)]
Run Code Online (Sandbox Code Playgroud)

然后当然我做了regasm的事情,所有方法都运行得很好.

但是程序集中也有枚举类型.我想使用符号名称COM应用程序,用于枚举值.

如何通过COM互操作公开枚举?我只需要添加这些属性吗?

[GuidAttribute("ebc25cf6-9120-4283-b972-0e5520d0000E")]
[ComVisible(true)]
Run Code Online (Sandbox Code Playgroud)

然后,我如何在VBScript中引用这些符号名称?我没有看到OleView中的枚举类型.(我应该?)我在OleView中看到了所有其他类型.

.net com enums interop oleview

13
推荐指数
2
解决办法
9812
查看次数

如何在AppDomains上订阅事件(object.Event + = handler;)

我遇到了此留言板帖子中描述的问题.

我有一个托管在自己的AppDomain中的对象.

public class MyObject : MarshalByRefObject
{
    public event EventHandler TheEvent;
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想为该事件添加一个处理程序.处理程序将在不同的AppDomain中运行.我的理解是这一切都很好,事件通过.NET Remoting神奇地传递到这个边界.

但是,当我这样做时:

// instance is an instance of an object that runs in a separate AppDomain
instance.TheEvent += this.Handler ; 
Run Code Online (Sandbox Code Playgroud)

...它编译得很好,但在运行时失败:

System.Runtime.Remoting.RemotingException: 
     Remoting cannot find field 'TheEvent' on type 'MyObject'.
Run Code Online (Sandbox Code Playgroud)

为什么?

编辑:演示问题的工作应用程序的源代码:

// EventAcrossAppDomain.cs
// ------------------------------------------------------------------
//
// demonstrate an exception that occurs when trying to use events across AppDomains.
//
// The exception is:
// System.Runtime.Remoting.RemotingException:
//       Remoting cannot find …
Run Code Online (Sandbox Code Playgroud)

.net events remoting

13
推荐指数
2
解决办法
5232
查看次数

zip函数的目的是什么(如Python或C#4.0)?

有人问如何在C#中使用Python的zip?...

......这让我想问,拉链有什么用?在什么情况下我需要这个?在基类库中我需要这个是否真的如此基础?

c# python zip

13
推荐指数
5
解决办法
8914
查看次数

WCF和流请求和响应

在WCF中,我不能将服务写入客户端接收的流吗?

WCF支持流请求,响应或两者.我想支持一种情况,即数据生成器(流式传输请求时的客户端或流式响应时的服务器)可以在流上写入.这支持吗?

类比是来自ASP.NET请求的Response.OutputStream.在ASPNET中,任何页面都可以在输出流上调用Write,并且客户端会接收内容.我可以在WCF服务中执行类似的操作 - 在客户端接收的流上调用Write吗?

让我用WCF插图解释一下.WCF中最简单的Streaming示例是将FileStream返回给客户端的服务.这是一个流式响应.实现此目的的服务器代码如下:

[ServiceContract]
public interface IStreamService
{
    [OperationContract]
    Stream GetData(string fileName);
}
public class StreamService : IStreamService
{
    public Stream GetData(string filename)
    {
        return new FileStream(filename, FileMode.Open)
    }
}
Run Code Online (Sandbox Code Playgroud)

客户端代码是这样的:

StreamDemo.StreamServiceClient client = 
    new WcfStreamDemoClient.StreamDemo.StreamServiceClient();
Stream str = client.GetData(@"c:\path\on\server\myfile.dat");
do {
  b = str.ReadByte(); //read next byte from stream
  ...
} while (b != -1);
Run Code Online (Sandbox Code Playgroud)

(例子来自http://blog.joachim.at/?p=33)

清楚吧?服务器将Stream返回给客户端,客户端调用Read.

客户端是否可以提供Stream,并且服务器可以在其上调用Write?
换句话说,不是拉模型 - 客户端从服务器提取数据 - 它是推模型,客户端提供"接收"流并且服务器写入其中.服务器端代码可能类似于:

[ServiceContract]
public interface IStreamWriterService
{
    [OperationContract]
    void SendData(Stream clientProvidedWritableStream); …
Run Code Online (Sandbox Code Playgroud)

.net streaming wcf

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

通过C#中的XmlSerializer类反序列化多个具有相同名称的XML元素

我在表单中有一个XML

 <BackupSchedule>
    <AggressiveMode>0</AggressiveMode>  
    <ScheduleType>0</ScheduleType>  
    <ScheduledDay>0</ScheduledDay>  
    <ScheduledDay>1</ScheduledDay>  
    <ScheduledDay>0</ScheduledDay>  
    <ScheduledDay>0</ScheduledDay>  
    <ScheduledDay>0</ScheduledDay>  
    <ScheduledDay>0</ScheduledDay>  
    <ScheduledDay>0</ScheduledDay>  
    <WindowStart>480</WindowStart>  
    <WindowEnd>1020</WindowEnd>  
    <ScheduleInterval>0</ScheduleInterval>  
  </BackupSchedule>
Run Code Online (Sandbox Code Playgroud)

我需要对其进行反序列化,更改其内容并将其保存回来.我在阅读ScheduledDay元素时遇到问题.我的班级就像

public class BackupScheduleSettings  
{  
        public BackupScheduleSettings()  
        {   
            ScheduledDay = new int[7];  
        }  

        .....
        public int[] ScheduledDay { get; set; }
        .....  
 }
Run Code Online (Sandbox Code Playgroud)

现在,当我加载具有ScheduledDay正确值的XML内容时,我的类数组仍为NULL.

我无法修改XML的内容/格式,因为它是遗留代码.我不想使用XDocument读取值,因为它是一个大型XML,我需要再次序列化它.

我没有任何帮助就搜索了很多.任何想法将受到高度赞赏.

谢谢...

c# xml xml-serialization xml-deserialization

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

如何在WPF TextBox中指定字母间距或字距?

我想修改WPF TextBox中字符之间的间距.
letter-spacing: 5pxCSS中可用的东西.
我认为在XAML中是可能的; 什么是最简单的方法?

我找到了" GlyphRun对象和字形元素简介 "文档,发现它非常无益.

这是该页面的代码示例:

<!-- "Hello World!" with explicit character widths for proportional font -->
<Glyphs 
   FontUri             = "C:\WINDOWS\Fonts\ARIAL.TTF"
   FontRenderingEmSize = "36"
   UnicodeString       = "Hello World!"
   Indices             = ",80;,80;,80;,80;,80;,80;,80;,80;,80;,80;,80"
   Fill                = "Maroon"
   OriginX             = "50"
   OriginY             = "225"
/>
Run Code Online (Sandbox Code Playgroud)

相同的文档页面为该Indices属性提供了"解释" :

在此输入图像描述

我不知道这是什么意思.我也不确定指数是否正确 - 代码中的注释说的是"字符宽度",我并不关心.我想调整字符之间的宽度.

此外,没有关于如何将Glyphs元素应用于TextBox的示例.当我尝试它时,我的WPF测试应用程序崩溃了.


我想要做的是略微增加WPF TextBox中绘制的字符之间出现的空白区域.案文的长度和内容各不相同.Indicies每次有新角色时我是否必须修改属性?有没有办法说"为每个角色增加20%的空间".

有谁能够帮我?

wpf xaml textbox kerning

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

角度分页 - 更新数据onclick

我正试图在角/引导网站上实现分页.我的数据显示正确的每页行数#,我有角度分页显示正确的页面数...但是如果我能找到任何地方告诉我如何使用分页来刷新我的数据页面#被点击了......?!{{currentPage}}正在更新,但不知道如何让它调用getPresentations来更新列表.

<div>
        {{noOfPages}} &nbsp; {{currentPage}} &nbsp; {{maxSize}}
        <pagination num-pages="noOfPages" current-page="currentPage"></pagination>
    </div>

<script type="text/javascript">
    angular.module('app', ['ui', 'shared', 'ui.bootstrap']).controller('AppCtl', function ($scope, $http, $window) {
        var mvc = $window.MVC;
        $scope.noOfPages = 0;
        $scope.currentPage = 1;
        $scope.maxSize = 5;

        $scope.getPresentations = function () {
            $http.get(mvc.base + "API/Presentations?page=" + $scope.currentPage + "&itemsPerPage=10")
               .success(function (result) {
                   $scope.presentations = result.Items;
                   $scope.noOfPages = result.TotalPages;
                   $scope.currentPage = result.Page;
               })
                .error(function (result, status) {
                    $scope.newModal.errors = mvc.getApiErrors(status, result);
                });
        };

        $scope.getPresentations();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

paging angularjs

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

WPF:如何在DocumentViewer中删除搜索框?

我的XAML代码是这样的:

<Window
    xmlns                 ='http://schemas.microsoft.com/netfx/2007/xaml/presentation'
    xmlns:x               ='http://schemas.microsoft.com/winfx/2006/xaml'
    Title                 ='Print Preview - More stuff here'
    Height                ='200'
    Width                 ='300'
    WindowStartupLocation ='CenterOwner'>
    <DocumentViewer Name='dv1' ... />
</Window>
Run Code Online (Sandbox Code Playgroud)

如何在XAML或C#中删除搜索框?

wpf documentviewer

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

如何异步运行elisp函数?

对于那些不知道的人来说,imenu是emacs中的一个东西,它允许模式将一个或多个菜单项插入菜单栏.最常见的用法是从下拉菜单中访问"目录",因此用户可以快速跳转到文档中的函数或类或节的声明等.

imenu有几种不同的工作方式 - 在第一种和更常用的方式中,主模式为imenu提供regexp,而imenu使用这些regexp来执行缓冲区的扫描并构​​建索引.主要模式通过将正则表达式列表放入其中来设置它imenu-generic-expression.第二种方式是主模式执行自己的扫描.它可以通过将变量设置imenu-create-index-function为由themode定义的函数的名称来执行此操作,该函数返回包含目录的列表.

我正在做后者 - imenu-create-index-function但有时fn需要花费很长时间才能运行,比如3或4秒或更长时间,这会冻结UI.如果我使操作异步,那将解决该问题.

我知道异步过程.扫描逻辑在elisp中实现.是否可以在异步流程中运行elisp?如果是这样,怎么样?

或者,有没有办法在emacs中异步运行常规的elisp,而不需要求助于异步流程?

我认为font-lock的作用方式是,它在闲置时就会出现问题.它一次保持状态和一点点状态,总是记住它停止的地方,还有什么需要被证实,自上次祝福以来发生了什么变化等等.我的理解是否正确?也许我可以使用这种增量方法.

建议?

emacs asynchronous

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