小编pry*_*ain的帖子

为什么string.StartsWith("\ u2D2D")总是返回true?

我正在摆弄C#中的解析,发现对于我尝试过的每一个字符串,string.StartsWith("\u2D2D")都会返回true.这是为什么?

它似乎适用于每个char.用.Net 4.5尝试了这个代码,Debugger没有破解.

for (char i = char.MinValue; i < char.MaxValue; i++)
{
    if(!i.ToString().StartsWith("\u2d2d"))
    {
        Debugger.Break();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# string unicode startswith

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

在另一个代理中包装RemotingProxy的__TransparentProxy会抛出RemotingException

目标

我有几个接口和一些dll提供这些接口的实现.我要加载的实施进入一个新的AppDomain(这样我就可以卸载后的DLL)和instatiate在新的AppDomain执行,然后使用一个客户方(这里默认的AppDomain)代理来包装实际执行的对象.目标是创建这些ClientProxy实例一次,并在不将实现程序集加载到默认AppDomain时更改其实际实现.

问题

在ClientProxy __TransparentProxy对象上调用另一个ClientProxy作为参数的方法时,我得到以下异常:

System.Runtime.Remoting.RemotingException: 'The argument type 'System.MarshalByRefObject' cannot be converted into parameter type 'IData'.'

内部异常:

InvalidCastException的: Object must implement IConvertible.

传递直接从Server AppDomain获取的__TransparentProxy时,ClientProxy可以正常工作.

建立

可以从以下网址获取:https://github.com/mailgerigk/remoting

接口:

public interface IData
{
    int Foo { get; set; }
}

public interface ILogic
{
    void Update(IData data);
}
Run Code Online (Sandbox Code Playgroud)

_impl.dll中的接口Impl:

public class DataImpl : MarshalByRefObject, IData
{
    public int Foo { get; set; }
}

public class LogicImpl : MarshalByRefObject, ILogic
{
    public void Update(IData …
Run Code Online (Sandbox Code Playgroud)

c# remoting realproxy

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

在C#中使用来自F#的非歧视联盟类型

我在F#库中声明了一些我希望从C#代码中填充的数据类型.我遇到的问题是只有DU被"导出"为一个类,请考虑这个示例文件Test.fs:

module Test

type SimpleType = string

type SimpleList = string list

type SimpleDU =
     | A
     | B

type SimpleRecord = { Text : string }
Run Code Online (Sandbox Code Playgroud)

刚开始引用F#项目时我很困惑,我不允许在C#中使用SimpleTypeSimpleList类型.我查看了生成的带有ILDasm的F#库,并且只找到了C#代码中可以完全访问的SimpleDUSimpleRecord类型的代码.

有没有办法"导出"非DU类型,以便它们可以在C#中使用,或者我是否必须将每个非DU类型声明为显式记录?

f#

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

标签 统计

c# ×2

f# ×1

realproxy ×1

remoting ×1

startswith ×1

string ×1

unicode ×1