我有一些类库,其中包含一些非常重要的现有代码.类库目前以.NET 4.0为目标.有关如何将这些库转换为可移植库的指导吗?从查看.csproj看,似乎没有太多差异:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
Run Code Online (Sandbox Code Playgroud)
和
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Run Code Online (Sandbox Code Playgroud)
尝试将现有类库转换为可移植库是一个好主意还是坏主意?
我需要在项目中定义一个枚举到我的WCF服务项目的枚举.我正在创建一个包含枚举和其他数据的对象.当我通过WCF服务将对象传递给客户端时,我找不到.
枚举:
public enum Color
{
Red = 1,
Blue,
Green,
}
Run Code Online (Sandbox Code Playgroud)
要传递的对象:
public class MyObject
{
public Color ColorEnum { get; set; }
public string Name{ get; set; }
}
Run Code Online (Sandbox Code Playgroud)
只有当我给对象一个默认值,即ColourEnum = Color.Red时,服务才有效.如果它没有设置它休息.我知道这是一个解决方法,但我正在寻找一个更有意义的解决方案,而不是设置一个arb值.而我只是想明白为什么它会破裂
提前致谢
我刚刚进入函数式编程并试图理解何时应该使类/属性变得可变.
使用大量字符串连接时,我们知道最好使用StringBuilder,例如:
using System;
using System.Diagnostics;
using System.Text;
namespace ConsoleApplication3
{
internal class Program
{
private static string myStr;
private static readonly StringBuilder mySb = new StringBuilder();
private static void Main(string[] args)
{
Profile("+", 100000, () => myStr = myStr + "a"); // Takes 2236 ms
Profile("SB", 100000, () => mySb.Append("a")); // Takes 1 ms
}
private static void Profile(string description, int iterations, Action func)
{
// clean up
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
// warm up
func();
Stopwatch watch = Stopwatch.StartNew(); …Run Code Online (Sandbox Code Playgroud)