我有以下代码:
public class Parent
{
public string MyField { get; set; }
}
public class Child : Parent
{
protected new int MyField { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我试着通过以下方式访问:
static void Main(string[] args)
{
Child child = new Child();
child.MyField = "something";
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2008编译时没有注释,但在Mono(2.4.2,Ubuntu)下我收到错误消息
'HideTest.Child.MyField' is inaccessible due to its protection level (CS0122)
Run Code Online (Sandbox Code Playgroud)
一个实现或其他更符合标准吗?
编辑:感谢所有指出糟糕设计的人.不幸的是,它是第三方库,并且显着地改变它是不实际的.
我想使用更大的C#代码作为Objective-C(Cocoa)应用程序的库.
我发现了包装Cocoa代码的MonoMac项目,但我宁愿用Objective-C编写标准的Cocoa应用程序,它可以调用包装好的C#代码(换句话说).
在Windows上,我习惯于制作包含.NET代码的C++/CLI项目,并为基于C/C++的应用程序导出普通的旧C接口.
有一些简单的方法来实现这一目标吗?
我经常在Linux和VS2010之间使用相同的代码库切换MonoDevelop,所以我永远不得不点击不转换行结尾.是否可以选择在MonoDevelop中设置默认答案以防止此对话框弹出?
我试着理解Xamarin.iOS(MonoTouch)和Xamarin.Android(Android的Mono)是如何工作的.我写了一个小应用程序并查看了.app和.apk文件.
.app文件(iOS)内部有许多.dll文件.但为什么?在我阅读的每一页和帖子上,他们都说:App是原生的,没有任何解释.有人可以向我解释一下xamarin开发人员对"原生"的意思吗?
.apk文件内部不是单个.dll文件..
有没有办法使用.NET访问所有WiFi接入点及其各自的RSSI值?如果我可以在不使用非托管代码的情况下完成它,那将是非常好的,如果它在单声道和.NET中工作,那将更好.
如果有可能我会申请代码样本.谢谢
以下是我发现的一些类似的stackoverflow问题:
使用mono将.NET Windows服务迁移到Linux的最佳方法是什么?我一直在努力避免将应用程序作为计划命令执行.
是否有可能像行为一样获得服务/系统守护进程(在linux中)?
我对Android(由Novell)的Mono如何工作感兴趣.
我最大的问题是使用的实际运行时.MfA是否提供了一个Mono运行时,它包装并调用Dalvik运行时,或者在此操作中是否完全绕过了Dalvik?完全是别的吗?
我很好奇,因为我听说Mono运行时在移动设备上有更好的性能(不是我相信我在互联网上读到的任何内容......),而且我只是想了解整个事情.
关于比较和对比Mono/Dalvik运行时主题的任何其他一般知识将不胜感激.
谢谢!
我正在寻找一个跨平台的游戏开发框架.MonoGame看起来很容易学习和快速开发,但是我看到他们页面上的大部分游戏都不起作用,或者有很多错误.
任何人都可以解释MonoGame对于ios/droid专业手机游戏开发是否可靠?
我试图将应用程序与单声道3.2.3捆绑到一个独立的可执行文件.为此,我遵循本指南.声明变量后:
mono_version="3.2.3"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.5\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
Run Code Online (Sandbox Code Playgroud)
mkbundle --deps命令无法本地化引用的程序集:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'gtk-sharp' or
one of its dependencies. The system cannot find the file specified.
File name: 'gtk-sharp'
Run Code Online (Sandbox Code Playgroud)
使用mono 2.10.9执行完全相同的操作:
mono_version="2.10.9"
export MONO=/cygdrive/c/progra~2/Mono-$mono_version
machineconfig=$PROGRAMFILES\\Mono-$mono_version\\etc\\mono\\4.0\\machine.config
export PATH=$PATH:$MONO/bin
export PKG_CONFIG_PATH=$MONO/lib/pkgconfig
export CC="i686-pc-mingw32-gcc -U _WIN32"
mkbundle --deps --machine-config "$machineconfig" -c UI.exe
Run Code Online (Sandbox Code Playgroud)
给出积极的结果:
OS is: Windows
WARNING:
Check that the machine.config file you are bundling
doesn't contain sensitive information specific …Run Code Online (Sandbox Code Playgroud) 我正在尝试nameof使用泛型.我没有得到我期待的结果.我不确定这是否属于规范的一部分.
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ($"Hello { nameof(FooBar<string>)! }");
}
}
class FooBar<T> { }
Run Code Online (Sandbox Code Playgroud)
我得到的输出是
你好FooBar!
我希望有关类型参数的一些细节.
我用一个方法尝试了它,并且因编译器错误而失败:
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ($"Hello { nameof(Do<string>) }");
}
public static T Do<T>() {}
}
Run Code Online (Sandbox Code Playgroud)
错误CS8084:nameof运算符的参数不能是带有类型参数的方法组(CS8084)(foo)
这是因为nameof是编译时构造,而泛型是在运行时初始化的类型吗?还是有其他限制?
mono ×10
c# ×6
.net ×2
android ×2
.net-2.0 ×1
c#-6.0 ×1
cocoa ×1
dalvik ×1
generics ×1
ios ×1
linux ×1
mkbundle ×1
monodevelop ×1
monogame ×1
networking ×1
objective-c ×1
wifi ×1
xamarin ×1
xamarin.ios ×1
xna ×1