在我的实习期间,我的一位同事给了我一个暗示.我想知道这是不是很好的做法.
我正在做的是创建仅用于它们包含的值的类,并且没有任何实际执行某些操作的函数(除了具有getter,setter和构造函数).我声明我的变量是这样的:
public class ObjectIUse{
Private String name;
public ObjectIUse(String name){
this.name = name;
}
public String getName(){
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我没有使用setter因为它应该始终保持不变.我的同事说我也可以这样做:
public class ObjectIUse{
public final String name;
public ObjectIUse(String name){
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
因为现在我们不需要任何getter或setter因为它是公共的,但它也永远不会被更改,因为它是最终的.
哪个更好?或者它可能更适合仍然是私有但最终?我的意思是所有选项都很有效.我只是想知道哪个更好,为什么.
我正在创建一个Windows Universal应用程序.我希望用户能够上传图片,用户应该可以选择当场拍摄并发送图片.我使用MediaCapture api工作.但是我似乎只能使用一台摄像机,例如,如果我的手机有前置摄像头和后置摄像头,则仅使用前置摄像头.我怎样才能切换正在使用的相机?
我曾经读过一些关于使用这样的东西的东西:
private static async Task<DeviceInformation> GetCameraID(Windows.Devices.Enumeration.Panel desired)
{
DeviceInformation deviceID = (await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture))
.FirstOrDefault(x => x.EnclosureLocation != null && x.EnclosureLocation.Panel == desired);
return deviceID;
}
Run Code Online (Sandbox Code Playgroud)
但是这总是为我返回null,因为deviceID始终为null.
或者可以选择控制应用程序拍摄照片并将拍摄的照片返回给我的应用程序吗?我找到了以下内容,但它不适用于Windows Universal应用程序:http: //msdn.microsoft.com/en-us/library/windows/apps/hh394006(v = vs.105).aspx
c# camera windows-store-apps windows-phone-8.1 win-universal-app
我正在开发一个Windows通用应用程序.我想向用户显示图像.该图像位于我的资源文件夹中的子文件夹中,位于手机和Windows文件夹中.
我正在尝试将图像放在共享文件夹中的类中的变量中.我不断得到uri例外.
我的代码看起来像这样:
Uri uri = new Uri("/Assets/Image/avatar_anonymous.png");
chat_profilepicture_Bitmap = new BitmapImage(uri);
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的网址,无论是否有大写字母,整个路径都是"C:// blablabla"等等.似乎没有什么工作.我也尝试过:pack:// application:,,, /这是多个stackoverflow线程建议的.但那里没有运气.
我认为问题在于图像在另一个项目中,有没有办法解决这个问题?或者,如果这不是问题,我做错了什么?
uri exception windows-8.1 windows-phone-8.1 win-universal-app