我是c#的新手,我正在试图找到一个很好的解决方案,以便将公共代码保存在几个项目所使用的某个地方.
首先,我尝试将其保存在.cs文件中并将其添加到需要代码的项目中,但这会复制文件,这意味着如果我对公共代码进行任何更改,它将不会反映在使用此代码的各种项目中.
然后我尝试创建一个类库,并使用代码在项目中引用DLL.首先,即使我遵循教程,我也无法让它工作,即使我引用DLL我仍然无法以某种方式使用它,但即使这样工作它仍然需要一个额外的DLL与我的应用程序捆绑在一起一些常见的代码,这不是我想要的.
有没有办法保持公共代码是REFERENCED而无需发送DLL w
我正在学习c#,有些事我不明白,我一直无法找到任何有关在线的帮助.
string[] = testarray = { "test1", "test2", "test3" };
teststring = teststring.Join(" ", testarray);
Run Code Online (Sandbox Code Playgroud)
此操作失败,并显示以下错误消息:
使用实例引用无法访问成员'string.Join(string,params string [])'; 用类型名称来限定它.
但是,如果我改为:
teststring = string.Join(" ", testarray);
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用Split中的函数:
teststring = teststring.Split(new char[] {' '});
Run Code Online (Sandbox Code Playgroud)
我不再收到错误.我认为这事做与string类是静态的,有些不是的某些功能,但我怎么能知道哪些功能是静态的,这是不?(如果这是原因)
静态/非静态肯定之间的这些强制调用技术是需要习惯的.
c#中var类型的一个用途似乎是快捷方式/简化/保存不必要的输入.我考虑过的一件事是:
MyApp.Properties.Settings.Default.Value = 1;
这是一堆不必要的代码.另一种方法是声明:
using MyApp.Properties;
Run Code Online (Sandbox Code Playgroud)
- 要么 -
using appsettings = MyAppp.Properties.Settings;
Run Code Online (Sandbox Code Playgroud)
导致:appsettings.Default.Value = 1或Settings.Default.Value = 1
升技更好,但我还是希望它更短:
var appsettings = MyFirstCSharpApp.Properties.Settings.Default;
appsettings.Value=1;
Run Code Online (Sandbox Code Playgroud)
最后,它足够短,它也可以用于其他恼人的长时间通话,但这是一种可接受的方式吗?我正在考虑"快捷变量"是否总是指向我正在制作快捷方式的现有实例?(显然不仅仅是这个例子中的设置)
我看到了与此相关的另一个帖子,但我有一个不同的问题.我根据手册和其他线程的建议设置了所有内容,我没有收到任何错误.该应用程序实际上出现在码头,但这是事情停止的地方.首先它反弹了很长时间(分钟),在它最终停止反弹之后,没有窗口会显示出来.我在任何地方都没有错误.有什么建议?