我只需要能够将一个对象转换为可以为空的枚举.对象可以是enum,null或int.谢谢!
public enum MyEnum { A, B }
void Put(object value)
{
System.Nullable<Myenum> val = (System.Nullable<MyEnum>)value;
}
Put(null); // works
Put(Myenum.B); // works
Put(1); // Invalid cast exception!!
Run Code Online (Sandbox Code Playgroud) 我正在使用Type.GetConstructor(Type.EmptyTypes)获取类的默认构造函数.如果类具有没有参数(class A)的默认构造函数,则它可以工作.但是如果一个类有一个带有所有参数optional(class B)的构造函数,它就不起作用.程序不知道可选参数是什么,因为它只需要默认的构造函数.我可以使用哪些语句使其适用于这两种情况?谢谢,感谢任何帮助!
public class A
{
public A() {}
}
public class B
{
public B(int i = 0, string str = "") {}
}
Run Code Online (Sandbox Code Playgroud) 我们有一个用Java和C#两种语言实现的应用程序.Java应用程序使用maven来构建和发布过程,现在我需要将C#的构建集成到maven中.它是使用Visual Studio 2010实现的.有谁知道如何做到这一点?我现在可以使用的最佳插件是什么.非常感谢!
更新:
到目前为止,我发现了以下4个选项.有没有人成功使用过这些?另外,我最终需要将构建/发布过程移植到Linux,并且可能使用Mono在maven中编译.非常感谢任何信息,谢谢.
NPanday http://incubator.apache.org/npanday/docs/1.2/guide/maven/project-types.html
Plexus http://maven.apache.org/plugins/maven-compiler-plugin/non-javac-compilers.html http://snapshots.repository.codehaus.org/org/codehaus/plexus/plexus-compiler-csharp/ 1.6-SNAPSHOT /
Maven Dotnet插件 http://maven-dotnet-plugin.appspot.com/
教程:http: //docs.codehaus.org/display/MAVENUSER/Using+Maven+to+manage+.NET+projects
仅作为示例而非实际代码:
stringstream ss;
ss << " world!";
string hello("Hello");
// insert hello to beginning of ss ??
Run Code Online (Sandbox Code Playgroud)
感谢所有答复,我也找到了下面的代码,该代码可以正常工作:
ostringstream& insert( ostringstream& oss, const string& s )
{
streamsize pos = oss.tellp();
oss.str( s + oss.str() );
oss.seekp( pos + s.length() );
return oss;
}
Run Code Online (Sandbox Code Playgroud) 我有CodeDom生成的可选参数.例如:
class Square
{
public Square([Optional()] int side) { }
}
Run Code Online (Sandbox Code Playgroud)
我有一个电话声明:
Square sq = new Square();
Run Code Online (Sandbox Code Playgroud)
在我编辑时,我的错误列表窗口显示:'Square'不包含带0参数的构造函数'
但它编译并成功运行.如何摆脱"错误列表"窗口中的错误?谢谢!
我需要实例化一个只在程序集或mscorlib中定义的对象,而不是在任何其他系统程序集中.目前我这样做:
Type type;
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{
string fullName = name + "," + assembly.FullName;
type = Type.GetType(fullName);
if (type != null) break;
}
if (type != null)
object obj = Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)
有没有办法优化此循环以跳过系统程序集(但不是mscorlib)?我需要多次调用它.
谢谢!
可能重复:
处理浮点数中的精度问题
码:
float flt = 78983636; // stores 78983632. as seen in debugger
flt = 79282056; // stores 79282056.
Run Code Online (Sandbox Code Playgroud)
为什么它不能准确存储第一个值,但能够为更大的第二个值?
c# ×5
c++ ×2
assemblies ×1
build ×1
constructor ×1
enums ×1
maven ×1
nullable ×1
reflection ×1
stringstream ×1